2014-08-28 2 views
1

Я хочу применить правило css ко всему (* { color: red; }).применить правило CSS для всего, кроме одного тега

Но как я могу это сделать без необходимости использования Javascript или применения класса ко всему, к чему я хочу применить?

Что-то вроде:

*:not-type(div) { 
    color: red; 
} 

И документ будет:

<span>this is red</span> 
<span>this is red</span> 
<div>this is not red</div> 
+5

почему бы не просто применить класс к вещам вы не хотите быть красным цветом и стилю, чтобы переопределить его? – Pete

ответ

0

Try так:

:not(div){ 
     color: red; 
    } 
+0

doens't work http://jsfiddle.net/ubea4tv7/1/ –

+0

http://www.w3schools.com/cssref/tryit.asp?filename=trycss3_not – 2014-08-28 09:16:10

+1

': not (div)' будет соответствовать элементу body , Затем элемент div наследует красный цвет от этого. – Alohci

3

Попробуйте так:

*{ 
color: red; 
} 

div{ 
color: blue; 
} 
+1

Проблема с этим решением заключается в том, что он не позволяет оставлять 'div' с его по умолчанию или унаследованным цветом, который': not' делает. – 2014-08-28 09:21:46

2

Чтобы выбрать все, кроме Div элементов можно было бы написать:

:not(div) { 
    color: red; 
} 

Предостережение: в то время как это правило правильно выбирает все элементы, кроме div, это не мешает div от наследует красный цвет от его родителя, который является поведением по умолчанию.

+0

Что делать, если у вас есть '

...

...

'? Исключение элемента body работает только для очень простых документов. – Quentin

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