In einem Projekt können verschiedene CSS-Klassen die gleiche(n) Regel(n) enthalten. Ein Beispiel: Wir haben 20 Felder auf unserer Webseite mit verschiedenen Hintergrundfarben:
Später ändert unser Kunde seine Meinung und möchte größere Felder. Also muss ich die Eigenschaften width und height jeder Klasse einzeln erhöhen. Das könnten auch 50 Klassen sein. In der Praxis der Programmierung kann das sehr frustrierend sein. Wie ich oben erwähnt habe, ist dies ein Beispiel für großen Aufwand für kleine Änderungen.
Wie können wir das effizienter machen?
Sass bietet eine Lösung: Variablen. Wie in anderen Programmiersprachen können wir Variablen verwenden, um Werte zu speichern und sie später wiederzuverwenden.
Definition einer Variable:
$variable-name: value;
Wenn wir, um auf das obige Beispiel zurückzukommen, Variablen für width & height :
$box-width: 100px; $box-height: 100px;
später definieren, wenn eine Änderung erforderlich ist, müssen wir ihre Werte nur einmal ändern:
$box-width: 200px; // changed from 100px to 200px $box-height: 200px; // that's all!.box-1 { width: $box-width; // using variables now instead of pixels height: $box-height; background: red; }.box-2 { width: $box-width; height: $box-height; background: yellow; }....box-20 { width: $box-width; height: $box-height; background: blue; }
CSS selbst unterstützt jetzt auch Variablen, aber es funktioniert nicht in IE & alten Versionen anderer Browser:
Feature #2: Verschachtelung
Standard CSS unterstützt keine Verschachtelung. Wir können keine Klasse innerhalb einer anderen Klasse schreiben. Wenn das Projekt größer wird, bringt dies ein Problem der Lesbarkeit mit sich und die Struktur sieht nicht schön aus.
Lassen Sie uns zum Beispiel ein Navigationsmenü mit klickbaren Links in HTML definieren: