autor: Robert
Zmienne w LESSie podobnie jak w językach programowania dzielimy na globalne i lokalne.
Zmienne globalne są widoczne i mogą być używane w całym dokumencie. Jeśli wewnątrz domieszki czy funkcji nie istnieje zmienna z taką samą nazwą to wykorzystana zostanie zmienna globalna.
Zmienne lokalne istnieją tylko wewnątrz domieszek czy funkcji, jeśli wewnątrz którejś z nich zadeklarujemy zmienna, to nie będzie ona widoczna w innej domieszce.
Podczas kompilacji najpierw wyszukiwane są zmienne lokalne a gdy te nie istnieją, pobierana jest wartość zmiennej globalnej.
Zasięg zmiennej służy temu by nie tworzyć kilkuset zmiennych globalnych o różnych nazwach tylko tworzyć takie same (oczywiście intuicyjne) nazwy wewnątrz domieszek czy funkcji.
Poniżej przykład, który pokazuje „na żywo” o co chodzi z zasięgiem zmiennych.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
@font-color: red; #example-div { @font-color: white; @border-color: black; #header { color: @font-color; //Zostanie podstawiona wartość "white" //gdyż najpierw są brane pod uwagę zmienne lokalne. } } #example-div-2 { #header { color: @font-color; //Zostanie podstawiona wartość "red" //gdyż nie ma zadeklarowanej zmiennej lokalnej. border-color: @border-color; //Kompilator zwróci błąd gdyż zmienna @border-color //została zadeklarowana wewnątrz innego stylu. } } |