Chuck's Academy

CSS Preprocessors

SCSS vs. Sass Syntax

Sass offers two different syntax types: SCSS and Sass. Each syntax has its own peculiarities and advantages, and it's important to understand the differences between them to choose the one that best suits your development style and project needs.

SCSS Syntax

SCSS (Sassy CSS) is the most widely used syntax of Sass, and it is fully compatible with CSS syntax, making it easier to adopt for those already familiar with CSS. Files using this syntax have the .scss extension.

SCSS Example:

scss

In this example, you can see the use of variables, nesting, and pseudo-classes, all within a syntax very similar to traditional CSS.

Sass Syntax

Sass (Syntactically Awesome Stylesheets) is the original and more concise syntax of Sass. It doesn't require braces ({}) or semicolons (;), instead, it uses indentation to separate code blocks. Files using this syntax have the .sass extension.

Sass Example:

sass

As observed, the Sass syntax is cleaner and less verbose, as it relies on indentation to define the code structure.

SCSS vs. Sass Comparison

Both syntaxes allow access to all advanced Sass functionalities, but they have some key differences:

  • CSS Compatibility:

    • SCSS is fully compatible with CSS. Any valid CSS file is also a valid SCSS file.
    • Sass, on the other hand, requires each line to be properly indented, which can be a significant change for those used to CSS syntax.
  • Readability and Conciseness:

    • SCSS is closer to CSS syntax, which may be easier to understand for those who already know CSS.
    • Sass is more concise and clean, which can improve readability once you get used to its indentation-based syntax.

Which one to choose

The choice between SCSS and Sass largely depends on your personal preferences and the team you work with:

  • If you prefer a gentler learning curve and want to continue using a CSS-like syntax, SCSS is the best option.
  • If you value a cleaner and more concise syntax, Sass might be more suitable.

Note: In this course, most examples will be in SCSS due to its popularity and direct compatibility with CSS. However, most functionalities will also be applicable to the Sass syntax with corresponding adjustments.

Conversion between syntaxes

If you decide to switch from one syntax to another, Sass provides tools to convert files between SCSS and Sass. You can do this using the command line:

bash

Conclusion

Understanding the differences between SCSS and Sass will help you make an informed decision on which to use for your project. Both syntaxes have their own advantages, and choosing the right one can improve your workflow and code maintainability. In the upcoming chapters, we will delve into the advanced features and functionalities of Sass, mainly using the SCSS syntax.


Ask me anything