Css variables
Przyjrzymy się pokrótce dokumentowi css variables draft. W3C zabiera się za wprowadzenie zmiennych do css. Pozwoli to w łatwy sposób używać powtarzających się właściwości i zmiejszy redundację kodu, co w efekcie da mniejsze pliki css. Zobaczmy jak na dzień dzisiejszy można deklarować zmienne. Zmienne deklarujemy za pomocą prefixu var-, po którym następuje nazwa zmiennej.
:root {
var-header-color: green;
}
Jeśli chcemy użyć wcześniej zadeklarowanej zmiennej nazwę zmiennej poprzedzamy znakiem dolara, po którym następuje nazwa zmiennej (jak poniżej).
h1 {
background-color: $header-color;
}
:root { var-color: blue; }
div { var-color: green; }
#alert { var-color: red; }
* { color: $color; }
<p>Dziedziczenie z root</p> <div>Zielony przypisany do mnie</div> <div id='alert'> Czerwony <p>też czerwony, bo dziedziczę.</p> </div>Co jeśli zadeklarujemy nieprawidłową zmienną? np.
:root { var-not-a-color: 20px; }
p { background-color: red; }
p { background-color: $not-a-color; }
Kolor elementu będzie w tym przypadku ustawiony na transparent. Działa to inaczej niż jeślibyśmy w arkuszu stylów
napisali background-color: 20px;, co spowoduje błąd składni i ta reguła nie będzie brana pod
uwagę, więc zostanie zastosowany czerwony kolor tła.Przydatne jest określanie wartości domyślnej dla zmiennej w przypadku gdy jest niezdefiniowana lub nieprawidłowa. Pozwala na to notacja var() przy odwoływaniu się do zmiennej.
:root { var-not-a-color: 20px; }
p { background-color: var($not-a-color,'blue'); }
