Note: Property nesting is rarely used in practice. Standard CSS
syntax is more common and readable.
5. Comments (// vs /* */) and Documentation
Comment Type
Syntax
Compiled Output
Best Use
Silent Comment
// comment
Not included in CSS
Developer notes, TODOs, explanations
Loud Comment
/* comment */
Included in CSS output
Copyright, section headers, docs
Multi-line Silent
// Line 1 // Line 2
Not in CSS
Block explanations
Multi-line Loud
/* Line 1 Line 2 */
Preserved in CSS
Documentation blocks
Force Comment
/*! Important */
Always kept (even compressed)
Licenses, copyright, attribution
Interpolation
/* Version: #{$ver} */
Variable value inserted
Dynamic documentation
Example: Comment types and usage
// This comment won't appear in CSS// Used for developer notes and explanations/* This comment will appear in CSS output *//* Use for section headers and user-facing docs *//*! * This comment is ALWAYS preserved * Copyright 2025 - Company Name */$version: '2.1.0';/* Project Version: #{$version} */// =========================// Component: Navigation Bar// =========================.navbar { /* Navigation bar styles */ background: #333; // TODO: Add responsive breakpoints // FIXME: z-index conflict with modal}// Compressed output will remove /* */ but keep /*! */
Silent Comments (//)
Development notes
Code explanations
TODOs and FIXMEs
Temporary debugging
Loud Comments (/* */)
Section dividers
API documentation
Generated content notes
Licenses (use /*! */)
6. File Extensions and Import Conventions
File Type
Extension
Naming Pattern
Purpose
SCSS Files
.scss
styles.scss
Main stylesheet files
Sass Files
.sass
styles.sass
Indented syntax files
Partial Files
.scss
_partial.scss
Not compiled directly (imported only)
CSS Output
.css
styles.css
Compiled output for browser
Source Map
.css.map
styles.css.map
Debug mapping to source SCSS
Import Pattern
@import 'partial'; or @use 'module';NEW
Example: File structure and import conventions
// File structure:// styles/// ├── main.scss (entry point)// ├── _variables.scss (partial)// ├── _mixins.scss (partial)// └── components/// ├── _button.scss (partial)// └── _card.scss (partial)// main.scss (compiled to main.css)@import 'variables';@import 'mixins';@import 'components/button';@import 'components/card';// Modern approach with @use@use 'variables' as vars;@use 'mixins' as mx;@use 'components/button';// Partial file naming: _variables.scss// Underscore prevents direct compilation// Import without underscore or extension@import 'variables'; // finds _variables.scss
Import Method
Syntax
Status
Notes
@import DEPRECATED
@import 'file';
Legacy, being phased out
Global namespace, can cause conflicts
@use NEW
@use 'file';
Recommended modern approach
Namespaced, prevents conflicts
@forward NEW
@forward 'file';
Module re-exporting
Create library entry points
Index Files
@use 'components';
Loads _index.scss
Folder-level imports
Note: Use underscore prefix for partials to prevent direct
compilation. Modern projects should use @use instead of @import.
Warning:@import is deprecated and will be removed from Sass. Migrate to
@use and @forward for future compatibility.