2014-01-16 3 views
0

Есть ли более компактный способ ExpresssМогу ли я иметь несколько классов CSS в сложной спецификации?

dl.class dt em, 
dl.data dt em, 
dl.exception dt em, 
dl.attribute dt em, 
dl.method dt em, 
dl.class dt big, 
dl.data dt big, 
dl.exception dt big, 
dl.attribute dt big, 
dl.method dt big 
{ 
    color: #4f4f4f; 
    font-style: normal; 
} 

Например, что-то вроде

dl(.class, .data, .exception, .attribute, .method) dt (em, big) { 
    color: #4f4f4f; 
    font-style: normal; 
} 
+1

Не с чистым CSS. [Меньше] (http://www.lesscss.org/) и [Sass] (http://sass-lang.com/) позволяют писать свой код таким образом, а затем компилировать в CSS. – gilly3

+1

МЕНЬШЕ может это сделать. http://blog.slaks.net/2013-09-29/less-css-secrets-of-the-ampersand/ – SLaks

+0

Предполагая, что вы можете настроить таргетинг на все dl в определенном id или элементе, #id dl dt em {} и #id dl dt big {} – Huangism

ответ

3

Это не может быть сделано в текущей версии CSS, однако есть некоторые предложения такого рода в Selectors level 4 , которые прототипируются в некоторых браузерах. Например, в Firefox можно использовать :-moz-any так:

:-moz-any(dl.class, dl.data, dl.exception, dl.attribute, dl.method) dt :-moz-any(em, big) 
{ 
    color: #4f4f4f; 
    font-style: normal; 
} 

Here is an example, как это будет работать.

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