我正在尝试将样式应用于我的所有div,除了一个特定的。我这样做但它不起作用:
#toolbar div[class~="olControlNavigationHistory"]{
float: left;
background-repeat: no-repeat;
margin: 2px 12px 2px 12px;
}
所以我需要将这个样式应用于#toolbar中的所有div除了带有名为“olControlNavigationHistory”的类之外的div。
我该怎么做?这可能吗?
提前致谢!
答案 0 :(得分:11)
首先将规则应用于所有div:
#toolbar div {
float: left;
background-repeat: no-repeat;
margin: 2px 12px 2px 12px;
}
然后你需要将特定情况的值归零:
#toolbar div.olControlNavigationHistor {
float: none;
background-repeat: repeat;
margin: 0;
}
当然,这假设特定div在没有应用第一个规则的情况下具有的属性值是每个属性默认值(例如margin: 0
和float: none
。)
修改强>
但是,将来每次支持CSS3时,您也可以将原始规则重写为#toolbar div:not(.olControlNavigationHistory)
,并且它可以正常且优雅地工作。
答案 1 :(得分:2)
我只是这样做,并找到了这个答案 使用:not selector:
div:not(#div1){
color:red;
}
发布在Apply CSS Style on all elements except with a SPECIFIC ID