如何在特定TAG上应用CSS

Gib*_*boK 16 html css css3

我不知道CSS是否可行,但我希望一般角色不适用于我的情况下的特定元素id=special.在我的例子中,所有的DIV都应该是红色的但我只id=special想要没有应用这种颜色.我知道我总是可以覆盖元素,id=special但我很想知道是否有可能从一般角色中排除某种形式.

CSS 2和CSS 3中的任何想法?

例:

<div>this is red</div>
<div>this is red</div>
<div id="special">this one must be blus</div>
div>this is red</div>

// My General Role
div
{
  background-color:Red;
}
Run Code Online (Sandbox Code Playgroud)

Ger*_*son 9

CSS2解决方案

div {
    color: red;
}

div#special {
    color: inherit;
}
Run Code Online (Sandbox Code Playgroud)

演示:http://jsfiddle.net/zRxWW/1/


JND*_*PNT 6

CSS3解决方案:

div:not(#special)
Run Code Online (Sandbox Code Playgroud)


zzz*_*Bov 6

CSS3允许:not()选择器:

div:not([id])
-or-
div:not(#special)
depending on what you want to exclude
Run Code Online (Sandbox Code Playgroud)

您可以在w3c文档中阅读有关选择器的所有内容.

至于CSS2,有一组有限的选择器,它们不考虑否定.