如何为除一个类之外的所有元素创建css规则?

Nic*_*ick 84 css css-selectors

我为我的项目创建了一个CSS样式表.有什么办法可以创建一个适用于所有表元素的css规则除了属于"dojoxGrid"类的表元素外?就像是:

.not(dojoxGrid) table{
    width:100%;
    border-top:1px solid #dddddd;
    border-left:1px solid #dddddd;
    border-right:1px solid #dddddd;
    margin:1em auto;
    border-collapse:collapse;
}
Run Code Online (Sandbox Code Playgroud)

Knu*_*Knu 165

否定伪类似乎是你在找什么.

table:not(.dojoxGrid) {color:red;}
Run Code Online (Sandbox Code Playgroud)

但IE8不支持它.

  • @FranciscoCorralesMorales `:not(.classOne):not(.classTwo)` 参见 http://stackoverflow.com/a/5684168/248058 (7认同)
  • 虽然我的评论并不直接适用于这个问题,但值得注意的是`:not`可以用作jquery选择器.即`$("[data-name ='bob']:not(a)")`,这很好. (4认同)
  • 这应该是公认的答案,因为它是期望效果的答案.目前接受的答案是实现预期效果的另一种方式,但并未真正回答这个问题.发现这个问题的人很可能正在寻找确切要求的答案,在大多数情况下,替代方法不适用. (3认同)
  • 这是一个很好的css3选择器要注意 - 希望在IE9中可用. (2认同)

cor*_*ori 12

不会为所有表设置一个css规则,然后为class ="dojoxGrid"工作的表后续设置一个css规则吗?或者我错过了什么?

  • 是的,这绝对有效,但你会将所有这些属性设置为一个值.如果你想让他们"未设置",那么不.据推测,尼克试图不破坏dojoxGrid的价值,因为他们已经设置在其他地方. (3认同)