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ì:
@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:
@for $count from 1 through 5 {
.li-#{$count} {
width: $count + px;
}
}
Risultato della compilazione:
.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:
@for $var from (inizio) to (fine)
Dove in questo caso il valore (fine) viene escluso.
Prendiamo l'esempio precedente e riscriviamolo nella seconda variante:
@for $count from 1 to 5 {
.li-#{$count} {
width: $count + px;
}
}
Ora prestate attenzione al codice risultante:
.li-1 {
width: 1px;
}
.li-2 {
width: 2px;
}
.li-3 {
width: 3px;
}
.li-4 {
width: 4px;
}
Descrivete quale sarà il risultato della compilazione del seguente codice:
@for $var from 5 through 1 {
li-#{$var} {
padding: 10 * $var + px;
}
}
Descrivete quale sarà il risultato della compilazione del seguente codice:
@for $var from 1 to 3 {
.navbar-link-#{$var} {
color: blue;
width: 10px * $var;
}
}