Voorwaardelijke logica in SASS
Dit artikel legt voorwaardelijke logica in SASS uit.
We leggen alles helder uit, van de basis tot geavanceerd gebruik van conditionals met de directives @if, @else if en @else, met praktische voorbeelden.
YouTube Video
Voorwaardelijke logica in SASS
SASS is een stylesheettaal die CSS uitbreidt; met conditionals kun je stijlen flexibel aansturen. In SASS kun je met @if, @else if en @else de uitvoer van stijlen bij het compileren sturen.
Basissyntaxis voor conditionals
Eenvoudige conditionals in SASS schrijf je met de volgende syntaxis.
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}@ifevalueert de eerste voorwaarde; als die onwaar is, worden de blokken@else ifen@elsevervolgens in volgorde geëvalueerd.
Eenvoudig voorbeeld van een conditional
In het volgende voorbeeld wisselt de achtergrondkleur op basis van de variabele $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}Gecompileerde CSS
1body {
2 background-color: #333;
3 color: #fff;
4}- Wanneer
$theme"dark"is, worden een donkere achtergrond en een witte tekstkleur toegepast.
Conditionals combineren met berekeningen
Conditionals behandelen niet alleen string- en kleurvergelijkingen, maar ook numerieke berekeningen.
1$width: 1200px;
2
3.container {
4 @if $width > 1000px {
5 max-width: 1200px;
6 } @else {
7 max-width: 800px;
8 }
9}Gecompileerde CSS
1.container {
2 max-width: 1200px;
3}- Numerieke vergelijkingen zijn ook mogelijk, en wanneer
$widthgroter is dan 1000px, wordtmax-width: 1200pxgegenereerd.
Geneste conditionals
Door conditionals te nesten kun je complexe voorwaarden uitdrukken.
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}Gecompileerde CSS
1button {
2 background-color: #000;
3 color: #fff;
4 padding: 20px;
5}- Geneste conditionals maken styling op basis van zowel thema als grootte mogelijk.
Conditionals gebruiken in aangepaste functies
Conditionals binnen aangepaste functies gebruiken kan de herbruikbaarheid verbeteren.
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}Gecompileerde CSS
1.card {
2 background-color: #333;
3}- Door conditionals in functies in te kapselen verhoog je de herbruikbaarheid en onderhoudbaarheid.
Een praktisch voorbeeld - Vormgeving wisselen
Laten we een voorbeeld bekijken waarin de algehele vormgeving op basis van bepaalde voorwaarden wordt gewisseld.
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}Gecompileerde 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}- Je kunt het kleurenschema van de volledige pagina dynamisch wisselen op basis van de themavariabele.
Opmerkingen en best practices
Wanneer je voorwaardelijke constructies in SASS gebruikt, kun je met de volgende punten rekening houden.
-
Houd conditionals eenvoudig
Complexe nesting schaadt de leesbaarheid; het benutten van functies en mixins helpt het eenvoudig te houden.
-
Abstraheer met variabelen en functies
Als je vergelijkbare voorwaarden op meerdere plaatsen gebruikt, verbetert het samenbrengen ervan in variabelen of functies de onderhoudbaarheid.
-
Voorkom opgeblazen logica
Uniformeer ontwerprichtlijnen zoveel mogelijk en vermijd overmatig gebruik van conditionals.
Conclusie
Conditionals in SASS zijn een zeer effectief hulpmiddel voor het maken van flexibele, dynamische stijlen. Hier hebben we alles stap voor stap uitgelegd, van de basis tot praktische voorbeelden. Wanneer je conditionals in echte projecten gebruikt, ontwerp dan met herbruikbare code in gedachten en let erop dat je de zaken niet onnodig ingewikkeld maakt.
Je kunt het bovenstaande artikel volgen met Visual Studio Code op ons YouTube-kanaal. Bekijk ook het YouTube-kanaal.