Sto lavorando con la sintassi SCSS di SASS per creare un sistema di griglia dinamico ma ho trovato un problema.SCSS/SASS: Come generare dinamicamente un elenco di classi con virgole che li separano
Sto cercando di rendere il sistema di griglia completamente dinamico come questo:
$columns: 12;
poi creo le colonne in questo modo:
@mixin col-x {
@for $i from 1 through $columns {
.col-#{$i} { width: $column-size * $i; }
}
}
quali uscite:
.col-1 {
width: 4.16667%;
}
.col-2 {
width: 8.33333%;
}
etc...
Funziona bene ma quello che voglio fare successivamente è generare dinamicamente un lungo li st delle classi delle colonne separati da virgole in base al numero di colonne $ scelti - ad esempio, voglio farlo sembrare come questo:
.col-1,
.col-2,
.col-3,
.col-4,
etc... {
float: left;
}
ho stanco questo:
@mixin col-x-list {
@for $i from 1 through $columns - 1 {
.col-#{$i}-m { float: left; }
}
}
ma l'uscita è questo:
.col-1 {
float: left;
}
.col-2 {
float: left;
}
etc...
io sono un po 'bloccato sulla logica anche qui, come la sintassi SCSS necessaria per creare qualcosa di simile.
Qualcuno ha qualche idea?
Grazie
curiosità: "@mixin col-x { @for $ i da 1 a $ colonne { .col - # {$ i} {width: $ column-size * $ i; } } } "puoi spiegare cosa fa esattamente questo codice? – Mag
@Mag Fa scorrere il numero di colonne che ho impostato, ad esempio $ colonne: 6, e crea una classe chiamata col-1, col-2 ecc. Quindi se io vuole 6 colonne, solo cicla fino a col-6, quindi restituisce ogni colonna di (100% diviso per il numero di $ colonne quindi moltiplicato per il suo numero di colonna) es. col-3 = (100%/6) * 3 = 50% – Josh