Директива @for у SASS-у

Помоћу директиве @for можемо извести одређене стилове у количини наведеној променљивом-бројачем. Први запис @for изгледа овако:

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

У овом случају, опсег строго укључује вредности (begin) и (end). Вреди обратити пажњу да (begin) и (end) морају враћати целе бројеве, јер они одређују смер бројања, тј. ако је (begin) мање од (end), бројач ће расти и, одговарајуће, ако је обрнуто — опадаће.

Размотримо рад директиве @for у првој синтакси на следећем примеру:

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

Резултат компајлирања:

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

У другом запису, синтакса изгледа следеће:

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

При чему се вредност (end) изоставља.

Узмимо претходни пример и запишимо га другим записом:

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

Сада обратите пажњу на добијени код:

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

.li-2 {
  width: 2px; 
}

.li-3 {
  width: 3px; 
}

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

Објасните, какав ће бити резултат компајлирања следећег кода:

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

Објасните, какав ће бити резултат компајлирања следећег кода:

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