我有一个通用规则,给所有div一个背景图像。 我有一个div (id='a'),我不希望它有背景图像。 我需要给出什么css规则呢?


当前回答

用下面的规则替换你的规则:

div:not(#a) { // add your bg image here //}

其他回答

用下面的规则替换你的规则:

div:not(#a) { // add your bg image here //}

HTML:

<div id="a" class="mydiv"></div>    

CSS:

div#a {
       background-image:none;
}

另一种方法:

div:not(#a) {
     //all rules goes here 
     //add image here
     //div with id a not effected by these rules
   }

多重(非伪)

   div:not(#a):not(#b):not(#c) {
     //all rules goes here 
     //add image here
     //div with ids not effected with these rules
   }

因为在css3中可以设置多个背景图像,设置“none”只会创建一个新层并且不隐藏任何东西。

http://www.css3.info/preview/multiple-backgrounds/ http://www.w3.org/TR/css3-background/#backgrounds

我还没有找到解决办法。

如果你的div规则只是div{…},然后#a{…}就足够了。如果它更复杂,你需要一个“更特定”的选择器,就像CSS规范中定义的那样。(#a比div更具体,只是算法中的一个方面。)

这样不行吗?

.clear-background{
background-image: none;
}

可能在旧浏览器上有问题…