2009-10-22 2 views
1

Можно ли применить стиль ко всему классу X, только если это класс A, B или C без дублирования кода?Группирование и подгруппа CSS

Я понимаю, группируя:

A, B, C { 
    ... 
} 

Но я хочу что-то вроде:

X, (A, B, C) { 
    ... 
} 

Как я могу добиться этого без дублирования кода?

ответ

3

Не могли бы вы сделать это?

.X.A, .X.B, .X.C { 
/* rules */ 
} 

Это будет соответствовать элементам как с классом X и A, или X и B, или X и C. Или я неправильно ваш вопрос?

+0

Я надеялся на более короткое решение, встроенное в CSS. Я знаю об этом, но это единственный способ? – LiraNuna

+0

Да. И это встроено в CSS. = P –

+1

Если вам действительно нужно отметить что-то с этим множеством классов, почему бы вам не создать новый класс или представлять это объединение классов? –

1

К сожалению, я хотел бы прокомментировать ответ Марка W, но я предполагаю, что у меня нет достаточного количества очков репутации, чтобы сделать так,> = O

Пожалуйста, обратите внимание, что с помощью нескольких классов в селекторе, как

.X.A, .X.B, .X.C { 
/* rules */ 
} 

Не поддерживается IE6.

+1

Хорошая точка. Когда я долгое время работал над Ext, нам в значительной степени пришлось отказаться от поддержки IE6 в нашем продукте. На самом деле, это был отличный бонус для использования Ext в первую очередь. =) –

+0

@Kevin C: Ну, мы должны технически убивать IE6, когда мы получаем шанс в любом случае ... –

0

Я изменяю BluePrintCSS для удовлетворения наших потребностей. Не совсем то же самое, что и вы, но вам нужно постоянно применять стили к пучкам классов или идентификаторов сразу, как вы это делаете.

Я обнаружил, что быстрее построить «генератор» в Javascript, а затем использовать его, чтобы выплескивать все повторяющиеся объявления CSS через вложенные для циклов и т. Д.

Преимущество в том, что при обновлении фреймворка я могу внести некоторые изменения в мой скрипт и быстро обновить свои стили «over-ride».

Смежные вопросы