Directiva @for în SASS

Cu ajutorul directivei @for se pot genera anumite stiluri într-o cantitate specificată de o variabilă-contor. Prima variantă de scriere a @for arată astfel:

scss@for $var from (început) through (sfârșit)

În acest caz, în interval sunt incluse strict valorile (început) și (sfârșit). Merită atenție faptul că (început) și (sfârșit) - trebuie să returneze numere întregi, deoarece ele stabilesc direcția de numărare, adică dacă (început) este mai mic decât (sfârșit), contorul va crește și, în consecință, dacă este invers - va scădea.

Să analizăm funcționarea directivei @for în prima variantă de sintaxă pe următorul exemplu:

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

Rezultatul compilării:

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

În a doua variantă, scrierea arată astfel:

scss@for $var from (început) to (sfârșit)

Însă aici valoarea (sfârșit) este exclusă.

Să luăm exemplul anterior și să-l scriem în a doua variantă:

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

Acum acordați atenție codului rezultat:

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

.li-2 {
  width: 2px; 
}

.li-3 {
  width: 3px; 
}

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

Spuneți, care va fi rezultatul compilării următorului cod:

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

Spuneți, care va fi rezultatul compilării următorului cod:

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