Direttiva @for in SASS

Con la direttiva @for è possibile generare stili specifici in una quantità indicata da una variabile contatore. La prima variante di scrittura di @for si presenta così:

scss@for $var from (inizio) through (fine)

In questo caso, l'intervallo include rigorosamente i valori (inizio) e (fine). Vale la pena notare che (inizio) e (fine) devono restituire numeri interi, poiché definiscono la direzione del conteggio, cioè se (inizio) è minore di (fine), il contatore aumenterà e, viceversa, diminuirà.

Consideriamo il funzionamento della direttiva @for nella prima variante sintattica con il seguente esempio:

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

Risultato della compilazione:

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

Nella seconda variante, la scrittura si presenta nel modo seguente:

scss@for $var from (inizio) to (fine)

Dove in questo caso il valore (fine) viene escluso.

Prendiamo l'esempio precedente e riscriviamolo nella seconda variante:

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

Ora prestate attenzione al codice risultante:

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

.li-2 {
  width: 2px; 
}

.li-3 {
  width: 3px; 
}

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

Descrivete quale sarà il risultato della compilazione del seguente codice:

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

Descrivete quale sarà il risultato della compilazione del seguente codice:

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