DEV Community

Cover image for "Does Sass Offer the Features of a Programming Language?"
Mahia  Momo
Mahia Momo

Posted on • Edited on

"Does Sass Offer the Features of a Programming Language?"

Sass is the preprocessor of CSS. A CSS preprocessor is a tool that extends CSS with additional features, allowing you to write styles in a more programmatic way. Once the Sass code is written, it needs to be compiled into standard CSS before it can be used by web browsers. This is why it is often referred to as a preprocessor.
CSS is the standard stylesheet language used by browsers to style HTML.
But in otherhand Sass extends CSS by providing additional features for easier and more efficient stylesheet management. However, when Sass is compiled, it generates standard CSS code that the browser can understand.

Sass Features

Like core programming languages, Sass introduces powerful features to enhance CSS:

Variables ($):

Variables in Sass allow you to store values like colors, font sizes, and other constants. This helps to avoid repetition and makes it easy to update values throughout your code.


$primary-color: #3498db;
$font-size: 16px;
Enter fullscreen mode Exit fullscreen mode

Functions (function()):

Sass functions let you perform calculations or manipulate values like colors, lengths, and more. They help to make your styles more dynamic and reusable.


@function calculate-rem($size) {
  @return $size / 16px * 1rem;
}

.text {
  font-size: calculate-rem(24px);
}

Enter fullscreen mode Exit fullscreen mode

Inheritance (@extend):

Inheritance in Sass allows one selector to inherit the styles of another. This can help reduce code duplication, making it easier to maintain consistent styling.


.base {
  color: $primary-color;
  font-size: $font-size;
}

.button {
  @extend .base;
  padding: 10px 20px;
}

Enter fullscreen mode Exit fullscreen mode

Modularization:

Sass allows you to split your styles into smaller, manageable files (partials), and then combine them using the @import rule. This makes it easier to organize your code.


// _variables.scss 
$primary-color: #3498db; 
// main.scss
 @import variables;      

Enter fullscreen mode Exit fullscreen mode

How SCSS Code convert to CSS Code:

SCSS (Sassy CSS) is a CSS preprocessor that adds extra features to CSS, such as variables, nested rules, mixins, and more. When SCSS code is compiled into CSS, the SCSS-specific syntax is translated into standard CSS, which browsers can understand.

Conversion of SCSS to CSS: Variables

In SCSS, variables are defined using the $ symbol. When SCSS code is compiled into CSS, these variables are replaced with their corresponding values.

SCSS Code:

$mFont: Helvetica,sans-serif;
$myColor: red;
$myFontSize: 18px;
$myWidth: 680px;

body {
    font-family: $mFont;
    font-size: $myFontSize;
    color: $myColor;
}

#container {
    width: $mWidth;
}
Enter fullscreen mode Exit fullscreen mode

CSS Code:

body {
    font-family:  Helvetica, sans-serif;
    font-size: 18px;
    color: red;

}

#container {
    width: 680px;
}
Enter fullscreen mode Exit fullscreen mode

Top comments (2)

Collapse
 
lucaargentieri profile image
Luca Argentieri

Great! There are some typos, it's sass not saas that is completly different :)

Collapse
 
mahiamomo profile image
Mahia Momo

thank you so much for correcting me i didn't realize the mistake