Экспериментируя со Стилусом, я попытался воссоздать стандартный список селекторов CSS, которые имеют одно и то же свойство, как (пример 1) .col-01, .col-02, .col-03 { display : block }
, используя функцию Stylus 'push()
, которая прерывается, если вы пытаетесь это сделать как то так:
sizes = small medium large
for size, i in sizes
for num in ( 1..12 )
columns = push( .column-{size}-{num} )
Однако, если вы сделаете что-то подобное вместо этого
sizes = small medium large
for size, i in sizes
for num in ( 1..12 )
.column-{size}-{num}
display block
float left
Работает, но скомпилированный CSS многословен
.column-small-1 { display: block; float: left }
.column-small-2 { display: block; float: left }
.column-small-3 { display: block; float: left }
etc
Есть способ воспроизвести пример 1, используя Sylus '@extend
, хотя он немного хакерский
.column
float left
sizes = small medium large
for size, i in sizes
for num in ( 1..12 )
.column-{size}-{num}
@extend .column
Этот метод производит желаемый результат.
РЕДАКТИРОВАТЬ:
Вы можете разграничить класс, используя $
вместо .
нотации - таким образом, исходный класс не создает скомпилированный css
$column
float left
sizes = small medium large
for size, i in sizes
for num in ( 1..12 )
.column-{size}-{num}
@extend .column