Grunderna i SASS
Den här artikeln förklarar grunderna i SASS.
Vi förklarar de grundläggande funktionerna i SASS steg för steg och visar hur man använder dem med praktiska exempelkoder.
YouTube Video
Grunderna i SASS
SASS (Syntactically Awesome Stylesheets) är ett stilmallspråk som utökar CSS. Genom att använda SASS kan du dra nytta av avancerade funktioner som inte är tillgängliga i CSS, såsom variabler, nästling, mixins och arv. Detta gör hantering och återanvändning av stilmallar mycket enklare.
Vad är SASS?
SASS är ett språk som förenklar CSS-skrivandet samtidigt som det möjliggör mer flexibel och kraftfull design. SASS erbjuder även SCSS (Sassy CSS)-syntaxen, som liknar den vanliga CSS-syntaxen. Här är ett exempel:.
Exempel på SCSS
1$base-font: Arial, sans-serif;
2$bg-color: #f4f4f4;
3
4body {
5 font-family: $base-font;
6 background-color: $bg-color;
7}Exempel på CSS
1body {
2 font-family: Arial, sans-serif;
3 background-color: #f4f4f4;
4}Att installera SASS
Hur du installerar
För att använda SASS installerar du först Node.js och sedan SASS med följande kommando:.
1npm install -g sassHur du kompilerar
För att kompilera SASS-filer (.scss eller .sass) till CSS, använd följande kommando:.
1sass input.scss output.cssDu kan också använda alternativet 'watch' för att övervaka filändringar och utföra realtidskompilering.
Variabler
SASS låter dig använda variabler för att återanvända värden som färger och teckenstorlekar.
Exempelkod
1$primary-color: #3498db;
2$font-stack: 'Roboto', sans-serif;
3
4body {
5 color: $primary-color;
6 font-family: $font-stack;
7}- Den här koden använder SASS-variabler för att definiera färger och typsnitt, och återanvänder dem inom 'body'-väljaren för att öka konsekvens och underhållbarhet.
Kompilerat resultat
1body {
2 color: #3498db;
3 font-family: 'Roboto', sans-serif;
4}Nästling
SASS förbättrar kodens läsbarhet genom att tillåta nästlade CSS-väljare.
Exempelkod
1nav {
2 ul {
3 list-style: none;
4 margin: 0;
5 padding: 0;
6
7 li {
8 display: inline-block;
9
10 a {
11 text-decoration: none;
12 color: #333;
13
14 &:hover {
15 color: #3498db;
16 }
17 }
18 }
19 }
20}- Den här koden använder nästlad hierarki för att visuellt tydliggöra struktureringen av stilarna.
Kompilerat resultat
1nav ul {
2 list-style: none;
3 margin: 0;
4 padding: 0;
5}
6
7nav ul li {
8 display: inline-block;
9}
10
11nav ul li a {
12 text-decoration: none;
13 color: #333;
14}
15
16nav ul li a:hover {
17 color: #3498db;
18}Mixins
Mixins gör det möjligt att återanvända kod för flera olika väljare.
Exempelkod
1@mixin border-radius($radius) {
2 border-radius: $radius;
3 -webkit-border-radius: $radius;
4 -moz-border-radius: $radius;
5}
6
7button {
8 @include border-radius(10px);
9}
10
11.card {
12 @include border-radius(5px);
13}- Den här koden definierar en 'border-radius'-stil med hjälp av '@mixin' och återanvänder den i 'button' och '.card' med '@include', vilket möjliggör effektiv stilhantering utan duplicering.
Kompilerat resultat
1button {
2 border-radius: 10px;
3 -webkit-border-radius: 10px;
4 -moz-border-radius: 10px;
5}
6
7.card {
8 border-radius: 5px;
9 -webkit-border-radius: 5px;
10 -moz-border-radius: 5px;
11}Arv (@extend)
Arv låter dig använda existerande stilar på andra väljare.
Exempelkod
1%button-style {
2 padding: 10px 20px;
3 color: white;
4 background-color: #3498db;
5}
6
7button {
8 @extend %button-style;
9 border: none;
10}
11
12.link-button {
13 @extend %button-style;
14 text-decoration: none;
15}- Den här koden definierar en platshållarväljare '%button-style' och använder '@extend' för att tillämpa gemensamma stilar på både 'button' och '.link-button', vilket främjar återanvändning och konsekvens.
Kompilerat resultat
1button, .link-button {
2 padding: 10px 20px;
3 color: white;
4 background-color: #3498db;
5}
6
7button {
8 border: none;
9}
10
11.link-button {
12 text-decoration: none;
13}Villkor och loopar
SASS stödjer villkor och loopar för att dynamiskt skapa stilar.
Exempel på villkorssats
1$theme: dark;
2
3body {
4 background-color: if($theme == light, #fff, #333);
5 color: if($theme == light, #333, #fff);
6}- Den här koden använder SASS-funktionen 'if' för att växla bakgrunds- och textfärger baserat på värdet av '$theme', vilket möjliggör dynamisk stiltilldelning med hjälp av villkor.
Exempel på loop
1@for $i from 1 through 3 {
2 .column-#{$i} {
3 width: calc(100% / $i);
4 }
5}- Den här koden använder en SASS '@for'-loop för att dynamiskt generera klasser från '.column-1' till '.column-3'.
Kompilerat resultat
1body {
2 background-color: #333;
3 color: #fff;
4}
5
6.column-1 {
7 width: 100%;
8}
9
10.column-2 {
11 width: 50%;
12}
13
14.column-3 {
15 width: 33.3333%;
16}Filuppdelning och importering
SASS låter dig dela upp filer och återanvända dem med @use eller @import.
Filstruktur
styles/
_variables.scss
_mixins.scss
main.scss_variables.scss
1$primary-color: #3498db;_mixins.scss
1@mixin flex-center {
2 display: flex;
3 justify-content: center;
4 align-items: center;
5}main.scss
1@use 'variables';
2@use 'mixins';
3
4header {
5 background-color: variables.$primary-color;
6 @include mixins.flex-center;
7}Kompilerat resultat
1header {
2 background-color: #3498db;
3 display: flex;
4 justify-content: center;
5 align-items: center;
6}Sammanfattning
Genom att använda SASS förenklas CSS-skrivandet och kodens återanvändbarhet och underhåll förbättras.
Du kan följa med i artikeln ovan med hjälp av Visual Studio Code på vår YouTube-kanal. Vänligen kolla även in YouTube-kanalen.