Экспериментируя с Стилус, я вы пытались переделать, создать стандартный список CSS селекторов, которые все имеют такое же свойство, как (например, 1) .col-01, .col-02, .col-03 { display : block }
с помощью 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, используя Sylu с @extend
, хотя это немного хаком
.column
float left
sizes = small medium large
for size, i in sizes
for num in (1..12)
.column-{size}-{num}
@extend .column
Этот способ получения требуемого выходного сигнала.
EDIT:
Вы можете разграничить класс, используя $
вместо .
обозначения - поэтому исходный класс не производит скомпилированный CSS
$column
float left
sizes = small medium large
for size, i in sizes
for num in (1..12)
.column-{size}-{num}
@extend .column
Вы динамически генерировать этот файл SASS? В каком случае вам придется повторно указывать существующие имена? – maxbeatty
@maxbeatty: Я кодирую базовую (переменную колонку) сетку с использованием цикла 'for' для определения ширины столбцов, и я хочу переместить все другие свойства, общие для всех классов столбцов (например,' display' и 'float') в объявление с разделителями-запятыми (' .span1, .span2, ..., .spanN'), чтобы сохранить пропускную способность. –
[Твиттер Bootstrap] (http://twitter.github.com/bootstrap/) выполняет это с помощью '.row> [class * =" span "] {display: inline; float: left; margin-left: 20px;} '. Каждому прямому дочернему потомку контейнера '.row' с классом, содержащим' span', будут присвоены эти общие стили.Не отвечает на ваш вопрос, но решает вашу проблему :) – maxbeatty