note:
I will not always show CSS version of my code.
note:
It is a three part series. (if link are taking you at the same blog then links are not updated yet. waiting...)
two
three
SCSS
SCSS (Syntatically Awesome Stylesheet) is CSS pre-processor. It uses *.scss
extension. Based on Ruby š.
Installation (install)
using node package manager
npm install -g sass
using Extension in VSCODE (easier guide)
You might this on preffered IDE too.
glenn2223.live-sass
# the above code is for extension name live-sass compiler
compilation
# after installtion run this command it will com
# pile index.scss to index.css
sass source/stylesheets/index.scss build/stylesheets/index.css
# sass package is prerequisite
variables
With Sass, you can store information in variables, like:
- strings
- numbers
- colors
- booleans
- lists
- nulls
$variableName:value;
code
$myFont: Helvetica, sans-serif;
$myColor: red;
$myFontSize: 18px;
$myWidth: 680px;h
in scss
you dont have to use var()
method to use variables. (that'a why i prefer it.)š§”
body{
font-famly:$myFont;
}
after compilation
body{
font-famly:Helvetica, sans-serif;;
}
variaible scoping
They are available only where {} are defined.
$myColor: red;
h1 {
$myColor: green;
color: $myColor;
}
p {
color: $myColor;
}
compilation
h1 {
color: green;
}
p {
color: red;
}
!global
The default behavior for variable scope can be overridden by using the !global
switch.
$myColor:red;
h1{
$myColor:green !global; /*it will replace red to green use with caution*/
color:$myColor; /*green*/
}
p{
color:$myColor; /*green*/
}
note
: avoid using global you might never know what causing your varible a different color. š§”
SCSS nesting
Another reason I use SCSS pre-processor that it support nesing.
nav{
li{
list-style:none;
}
p{
color:red; /*set color to red*/
}
}
after compilation
nav li{
list-style:none;
}
nav p{
color:red;
}
Because you can nest properties in Sass, it is cleaner and easier to read than standard CSS. At the end I will show you a scss hake.
@Import
Scss keeps the CSS code DRY (Don't Repeat Yourself).You can create small files with CSS snippets to include in other Sass files. Examples of such files can be: reset file, variables, colors, fonts, font-sizes, etc. (extension is optional). You might required it in big apps.
@import "variables";
@import "reset";
SCSS NESTED HACK
font: {
family: Helvetica, sans-serif;
}
text: {
align: center;
}
p {
font-family:helvetica, sans-serif;
text-align:center;
}
SCSS partials
It let transpiler know that it sould not translate this file to .scss. Syntax is __colors.scss
. Import does not require __ in the name.
__colors.scss
$myGreen:green;
main.scss
@import "colors";
body{
color:$myGreen;
}
Part two
link
if the link is going to google means second has not been uploadedš§”. Might need atleast 5 stars ā on this post.š¤£ (just kidding)
learning resources
š§”Scaler - India's Leading software E-learning
š§”w3schools - for web developers
Top comments (1)
please subscritbe my blog