<style>
div[id!='div1']// I actually needed an inequality operator for NOT EQUAL TO
{
font-size:40px;
}
</style>
<body>
<div>abc</div>
<div>def</div>
<div id='div1'>ghi</div>
</body>
CSS没有像我预期的那样工作。
我实际上想要为所有<div>
- 元素定义样式,但id='div1'
除外。
我该怎么做?
答案 0 :(得分:66)
使用:not选择器:
div:not(#bar){
color:red;
}
<div>foo</div>
<div id="bar">bar</div>
更新:name
而不是ID
:
div:not([name="bar"]){
color:red;
}
<div>foo</div>
<div name="bar">bar</div>
更新: CSS2选择器,类似于 Tom Heard-s 的答案:
div{
color:red;
}
div[name="bar"]{
color:blue;
}
<div>foo</div>
<div name="bar">bar</div>
另请参阅selectivizr
答案 1 :(得分:17)
CSS3解决方案:
div:not(#div1)
CSS2解决方案:
div {
color: red;
}
div#div1 {
color: inherit;
}
按名称:
CSS3解决方案:
div:not([name=div1]) {
color: red;
}
CSS2解决方案(注意IE6不支持 - 但谁更关心):
div {
color: red;
}
div[name=div1] {
color: inherit;
}
答案 2 :(得分:2)
如果你只是针对支持CSS3选择器的浏览器,你可以这样做:
div:not(#div1) {
...my styles...
}