Директивата @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;
  }
}