Dyrektywa @for w SASS
Za pomocą dyrektywy @for
można wyprowadzić określone style
w ilości podanej przez
zmienną-licznik.
Pierwsza wersja zapisu @for wygląda tak:
@for $var from (początek) through (koniec)
W tym przypadku zakres ściśle obejmuje wartości (początek) i (koniec). Warto zwrócić uwagę na to, że (początek) i (koniec) - muszą zwracać liczby całkowite, ponieważ określają one kierunek liczenia, tzn. jeśli (początek) jest mniejsze niż (koniec), licznik będzie rósł i odpowiednio, jeśli odwrotnie - malał.
Przeanalizujmy działanie dyrektywy @for
w pierwszej wersji składni
na następującym przykładzie:
@for $count from 1 through 5 {
.li-#{$count} {
width: $count + px;
}
}
Wynik kompilacji:
.li-1 {
width: 1px;
}
.li-2 {
width: 2px;
}
.li-3 {
width: 3px;
}
.li-4 {
width: 4px;
}
.li-5 {
width: 5px;
}
W drugiej wersji zapis wygląda następująco:
@for $var from (początek) to (koniec)
Przy czym tutaj wartość (koniec) jest pomijana.
Weźmy poprzedni przykład i zapiszmy go w drugiej wersji:
@for $count from 1 to 5 {
.li-#{$count} {
width: $count + px;
}
}
Teraz zwróć uwagę na otrzymany kod:
.li-1 {
width: 1px;
}
.li-2 {
width: 2px;
}
.li-3 {
width: 3px;
}
.li-4 {
width: 4px;
}
Opowiedz, jaki będzie wynik kompilacji następującego kodu:
@for $var from 5 through 1 {
li-#{$var} {
padding: 10 * $var + px;
}
}
Opowiedz, jaki będzie wynik kompilacji następującego kodu:
@for $var from 1 to 3 {
.navbar-link-#{$var} {
color: blue;
width: 10px * $var;
}
}