@for direktyva SASS

Naudojant @for direktyvą galima išvesti tam tikrus stilius kiekį, nurodytą skaitiklio-kintamuoju. Pirmasis @for įrašo variantas atrodo taip:

scss@for $var from (begin) through (end)

Šiuo atveju diapazonas griežtai apima reikšmes (begin) ir (end). Verta atkreipti dėmesį į tai, kad (begin) ir (end) - turi grąžinti sveikuosius skaičius, kadangi jie nurodo skaičiavimo kryptį, t.y. jei (begin) mažiau nei (end), skaitiklis didės ir atitinkamai, jei atvirkščiai - mažės.

Panagrinėkime @for direktyvos veikimą pirmuoju sintaksės variantu šiuo pavyzdžiu:

styles.scss@for $count from 1 through 5 {
  .li-#{$count} {
    width: $count + px;
  }
}

Kompiliavimo rezultatas:

styles.css.li-1 {
  width: 1px; 
}
.li-2 {
  width: 2px; 
}
.li-3 {
  width: 3px; 
}
.li-4 {
  width: 4px; 
}
.li-5 {
  width: 5px; 
}

Antruoju variantu įrašas atrodo taip:

scss@for $var from (begin) to (end)

Be to, čia reikšmė (end) neįtraukiama.

Paimkime ankstesnį pavyzdį ir užrašykime jį antruoju variantu:

styles.scss@for $count from 1 to 5 {
  .li-#{$count} {
    width: $count + px;
  }
}

Dabar atkreipkite dėmesį į gautą kodą:

styles.css.li-1 {
  width: 1px; 
}

.li-2 {
  width: 2px; 
}

.li-3 {
  width: 3px; 
}

.li-4 {
  width: 4px; 
}
Задание 1

Paaiškinkite, koks bus kompiliavimo rezultatas šiame kode:

styles.scss@for $var from 5 through 1 {
  li-#{$var} {
    padding: 10 * $var + px;
  }
}
Задание 2

Paaiškinkite, koks bus kompiliavimo rezultatas šiame kode:

styles.scss@for $var from 1 to 3 {
  .navbar-link-#{$var} {
    color: blue;
    width: 10px * $var;
  }
}