Direktiva @for u SASS-u

Pomoću direktive @for mogu se generisati određeni stilovi u količini koja je određena brojačem-promenljivom. Prva varijanta zapisa @for izgleda ovako:

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

U ovom slučaju, opseg striktno uključuje vrednosti (begin) i (end). Vredi obratiti pažnju na to da (begin) i (end) moraju vratiti cele brojeve, pošto određuju smer brojanja, tj. ako je (begin) manje od (end), brojač će se povećavati, i, obrnuto, ako nije - smanjivati.

Razmotrimo rad direktive @for u prvoj varijanti sintakse na sledećem primeru:

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

Rezultat kompilacije:

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

U drugoj varijanti zapis izgleda na sledeći način:

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

Pritom se vrednost (end) izbacuje.

Uzmimo prethodni primer i zapišimo ga u drugoj varijanti:

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

Sada obratite pažnju na rezultujući kod:

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

.li-2 {
  width: 2px; 
}

.li-3 {
  width: 3px; 
}

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

Objasnite, kakav će biti rezultat kompilacije sledećeg koda:

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

Objasnite, kakav će biti rezultat kompilacije sledećeg koda:

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