Ответ 1
В Sass < 3.3 вы можете использовать многомерные списки:
$numbers: (3 "three") (4 "four");
@each $i in $numbers {
.#{nth($i,2)}-#{nth($i,1)} {
/* CSS styles */
}
}
В Sass >= 3.3 получаем отображения:
$numbers: ("3": "three", "4": "four");
@each $number, $i in $numbers {
.#{$i}-#{$number} {
/* CSS styles */
}
}
Итак, в терминах фракций вы можете просто что-то сделать в этом направлении, чтобы вам не нужно было несколько списков или карт:
$number: 6;
$name: (
("one"),
("two" "halv" "halves"),
("three" "third" "thirds"),
("four" "quarter" "quarters"),
("five" "fifth" "fifths"),
("six" "sixth" "sixsths")
);
а затем все, что вы хотите сделать с вашими циклами... может быть, даже что-то вроде этого = D
@for $i from 1 to $number {
@for $j from 2 through $number {
.#{ nth( nth( $name, $i ), 1 ) }-#{
if( $i>1,
nth( nth( $name, $j ), 3 ),
nth( nth( $name, $j ), 2 )
)} {
/* CSS styles */
}
}
}
(я написал это так, чтобы вы могли заметить в @for
, что с помощью to
идет n - 1
)