@for-direktiivi SASS:ssä

@for-direktiivillä voit tuottaa tiettyjä tyylejä määrässä, jonka laskurimuuttuja määrittää. Ensimmäinen kirjoitustapa @for näyttää tältä:

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

Tässä tapauksessa arvot (begin) ja (end) sisällytetään tiukasti alueeseen. On syytä kiinnittää huomiota siihen, että (begin) ja (end) - täytyy palauttaa kokonaislukuja, koska ne määrittävät laskennan suunnan, eli jos (begin) on pienempi kuin (end), laskuri kasvaa ja vastaavasti, jos toisin päin - pienenee.

Tarkastellaan @for-direktiivin toimintaa ensimmäisessä syntaksivariantissa seuraavalla esimerkillä:

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

Kokoamisen tulos:

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

Toisessa variantissa merkintä näyttää seuraavalta:

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

Missä arvo (end) jätetään pois.

Otetaan edellinen esimerkki ja kirjoitetaan se toisessa variantissa:

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

Kiinnitä nyt huomiota tuloksena olevaan koodiin:

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

.li-2 {
  width: 2px; 
}

.li-3 {
  width: 3px; 
}

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

Kerro, mikä on seuraavan koodin kääntämisen tulos:

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

Kerro, mikä on seuraavan koodin kääntämisen tulos:

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