Директива @for в SASS
С помощта на директивата @for
може да се изведат определени стилове
в количество, посочено от
променлива-брояч.
Първият вариант на запис @for изглежда така:
@for $var from (begin) through (end)
В този случай в диапазона строго се включват стойностите (begin) и (end). Струва си да се обърне внимание на това, че (begin) и (end) - трябва да връщат цели числа, тъй като те задават посоката на броенето, т.е. ако (begin) е по-малко от (end), броячът ще расте и съответно, ако е обратно - ще намалява.
Нека разгледаме работата на директивата @for
в първия вариант на синтаксиса
в следния пример:
@for $count from 1 through 5 {
.li-#{$count} {
width: $count + px;
}
}
Резултат от компилацията:
.li-1 {
width: 1px;
}
.li-2 {
width: 2px;
}
.li-3 {
width: 3px;
}
.li-4 {
width: 4px;
}
.li-5 {
width: 5px;
}
Във втория вариант записът изглежда по следния начин:
@for $var from (begin) to (end)
Като тук стойността (end) се изключва.
Нека вземем предишния пример и го запишем във втория вариант:
@for $count from 1 to 5 {
.li-#{$count} {
width: $count + px;
}
}
Сега обърнете внимание на получения код:
.li-1 {
width: 1px;
}
.li-2 {
width: 2px;
}
.li-3 {
width: 3px;
}
.li-4 {
width: 4px;
}
Разкажете какъв ще бъде резултатът от компилацията на следния код:
@for $var from 5 through 1 {
li-#{$var} {
padding: 10 * $var + px;
}
}
Разкажете какъв ще бъде резултатът от компилацията на следния код:
@for $var from 1 to 3 {
.navbar-link-#{$var} {
color: blue;
width: 10px * $var;
}
}