Betingelser i SASS
Denne artikel forklarer betingelser i SASS.
Vi forklarer tydeligt alt fra det grundlæggende til avanceret brug af betingelser med direktiverne @if, @else if og @else, med praktiske eksempler.
YouTube Video
Betingelser i SASS
SASS er et stylesheet-sprog, der udvider CSS, og du kan styre stilarter fleksibelt ved hjælp af betingelser. I SASS kan du bruge @if, @else if og @else til at skifte outputtet af stilarter under kompilering.
Grundlæggende syntaks for betingelser
Grundlæggende betingelser i SASS skrives med følgende syntaks.
1@if condition {
2 // Code executed when the condition is true
3} @else if condition {
4 // Code executed when another condition is true
5} @else {
6 // Code executed when all conditions are false
7}@ifevaluerer den første betingelse, og hvis den er falsk, evalueres@else if- eller@else-blokkene i rækkefølge.
Simpelt betingelseseksempel
I det følgende eksempel skifter baggrundsfarven baseret på variablen $theme.
1$theme: "dark";
2
3body {
4 @if $theme == "dark" {
5 background-color: #333;
6 color: #fff;
7 } @else if $theme == "light" {
8 background-color: #fff;
9 color: #000;
10 } @else {
11 background-color: #f0f0f0;
12 color: #333;
13 }
14}Kompileret CSS
1body {
2 background-color: #333;
3 color: #fff;
4}- Når
$themeer"dark", anvendes en mørk baggrund og hvid tekstfarve.
Kombination af betingelser med beregninger
Betingelser håndterer ikke kun streng- og farvesammenligninger, men også numeriske beregninger.
1$width: 1200px;
2
3.container {
4 @if $width > 1000px {
5 max-width: 1200px;
6 } @else {
7 max-width: 800px;
8 }
9}Kompileret CSS
1.container {
2 max-width: 1200px;
3}- Numeriske sammenligninger er også mulige, og når
$widthoverstiger 1000px, genereresmax-width: 1200px.
Indlejrede betingelser
Ved at indlejre betingelser kan du udtrykke komplekse betingelser.
1$theme: "dark";
2$size: "large";
3
4button {
5 @if $theme == "dark" {
6 background-color: #000;
7 color: #fff;
8
9 @if $size == "large" {
10 padding: 20px;
11 } @else {
12 padding: 10px;
13 }
14 } @else {
15 background-color: #fff;
16 color: #000;
17
18 @if $size == "large" {
19 padding: 15px;
20 } @else {
21 padding: 8px;
22 }
23 }
24}Kompileret CSS
1button {
2 background-color: #000;
3 color: #fff;
4 padding: 20px;
5}- Indlejring af betingelser muliggør styling baseret på både tema og størrelse.
Brug af betingelser i brugerdefinerede funktioner
At bruge betingelser i brugerdefinerede funktioner kan forbedre genanvendeligheden.
1@function adjust-color($theme) {
2 @if $theme == "dark" {
3 @return #333;
4 } @else if $theme == "light" {
5 @return #fff;
6 } @else {
7 @return #ccc;
8 }
9}
10
11.card {
12 background-color: adjust-color("dark");
13}Kompileret CSS
1.card {
2 background-color: #333;
3}- Ved at indkapsle betingelser i funktioner kan du øge genanvendeligheden og vedligeholdelsesevnen.
Et praktisk eksempel - Skifte mellem designs
Lad os se på et eksempel på at skifte det overordnede design baseret på visse betingelser.
1$theme: "light";
2
3body {
4 font-family: Arial, sans-serif;
5
6 @if $theme == "dark" {
7 background-color: #121212;
8 color: #e0e0e0;
9 } @else if $theme == "light" {
10 background-color: #f9f9f9;
11 color: #333;
12 } @else {
13 background-color: #fff;
14 color: #000;
15 }
16}
17
18header {
19 @if $theme == "dark" {
20 border-bottom: 1px solid #333;
21 } @else {
22 border-bottom: 1px solid #ccc;
23 }
24}Kompileret CSS
1body {
2 font-family: Arial, sans-serif;
3 background-color: #f9f9f9;
4 color: #333;
5}
6
7header {
8 border-bottom: 1px solid #ccc;
9}- Du kan dynamisk skifte hele sidens farveskema i forhold til tema-variablen.
Bemærkninger og bedste praksis
Når du bruger SASS-betingelser, kan du overveje følgende punkter.
-
Hold betingelserne enkle
Kompleks indlejring skader læsbarheden, så det hjælper at bruge funktioner og mixins for at holde det enkelt.
-
Abstraher med variabler og funktioner
Hvis du bruger lignende betingelser flere steder, forbedres vedligeholdelsesevnen ved at samle dem i variabler eller funktioner.
-
Undgå oppustet logik
Foren designregler så meget som muligt, og undgå overdreven brug af betingelser.
Konklusion
Betingelser i SASS er et meget effektivt værktøj til at skabe fleksible, dynamiske stilarter. Her forklarede vi alt trin for trin fra det grundlæggende til praktiske eksempler. Når du bruger betingelser i rigtige projekter, bør du designe med genanvendelig kode for øje og samtidig passe på ikke at overkomplicere tingene.
Du kan følge med i ovenstående artikel ved hjælp af Visual Studio Code på vores YouTube-kanal. Husk også at tjekke YouTube-kanalen.