CSS is a powerful language used for making creative and attractive websites. Sassy CSS (SCSS) adds some powerful benefit to CSS that makes it more fantastic language by extending CSS and adding great features such as variables, mixins, nesting and much more. SCSS extension, i.e, file ending with “.scss” allows for more concise styling along with CSS. SCSS is the syntax for Sass. Every valid CSS3 stylesheet is a valid SCSS file with the same meaning and it extends all the features and functionality of CSS.
Now let’s have a look at some SCSS cool features and functions that lets you write clean, less-repetitive style-sheets making it really easy to read & modify your code.
1. Variables –
SCSS allows to change or modify the color value of a variable which you use in your website several time and it will update that value throughout the file wherever that variable is used. You can define variables like this:
$primaryColor: #6bc040;
$defaultFont: Helvetica, Calibri, sans-serif;
#header h2 {
font-family: $defaultFont;
font-size: 20px;
color: $primaryColor;
}
SCSS would compile this to:
#header h2 {
font-family: Helvetica, Calibri, sans-serif;
font-size: 20px;
color: #6bc040; }
2. Mixins-
Mixins in SCSS allows you to re-use the blocks of code including CSS properties & selectors. For example, take a block of code that defines CSS transitions. To define a mixin, you have to use @mixin then type in a name for it (transition in this case). Then where-ever you want to put in this block of code, just type in @include mixin-name (transition).
a {
color: #6bc040;
-webkit-transition: all 0.20s ease-in-out;
-moz-transition: all 0.20s ease-in-out;
-o-transition: all 0.20s ease-in-out;
-ms-transition: all 0.20s ease-in-out;
transition: all 0.20s ease-in-out;
}
a:hover {
color: #001;}
.button {
background: #6bc040;
color: #fff;
-webkit-transition: all 0.20s ease-in-out;
-moz-transition: all 0.20s ease-in-out;
-o-transition: all 0.20s ease-in-out;
-ms-transition: all 0.20s ease-in-out;
transition: all 0.20s ease-in-out;}
.button:hover {
background: #001;
}
The above code shows the vendor prefixes to achieve a fade effect when a user hovers over a link. You might want the same effect when a user, hovers over a button or some list elements, then you can use mixins to re-write the above code in SCSS as such:
@mixin transition {
-webkit-transition: all 0.20s ease-in-out;
-moz-transition: all 0.20s ease-in-out;
-o-transition: all 0.20s ease-in-out;
-ms-transition: all 0.20s ease-in-out;
transition: all 0.20s ease-in-out;
}
a {
color: #6bc040;
@include transition;
}
a:hover { color: #000; } .button {
background: #6bc040;
color: #fff;
@include transition;
}
.button:hover {
background: #001;
}
3. Nesting –
SCSS allows you to nesting CSS blocks within each other. Nesting is use for finding the link of the child element to it’s parent. For example:
a {
color: $primaryColor;
@include transition;
font: {
family: Helvetica, Arial, sans-serif;
size: 16px;}
text-decoration: none;
&:hover {
text-decoration: underline; }}
This would compile to :
a {
color: #6bc040;
-moz-transition: all 0.20s ease-in-out;
-o-transition: all 0.20s ease-in-out;
-ms-transition: all 0.20s ease-in-out;
transition: all 0.20s ease-in-out;
font-family : Helvetica, Arial, sans-serif;
font-size: 16px;
text-decoration : none;
}
a:hover {
text-decoration: underline;
}
Related Posts...
CSSTechnologiesWeb Design
Dec 12th, 2024
Technology is advancing at an unprecedented pace, reshaping industries and redefining the roles of professionals. As we approach 2025, staying ahead of the curve requires understanding emerging trends and their […]
Read more
Dec 10th, 2024
As 2024 comes to a close, it’s the perfect time to reflect on the remarkable technological innovations that have shaped the year. From advancements in Artificial Intelligence (AI) to the […]
Read more
Sep 26th, 2024
Learn how AI chatbots are transforming e-commerce by providing seamless customer support, automating tasks, and enhancing the shopping experience for users.
Read more