作者:留心6_136 | 来源:互联网 | 2023-05-21 17:44
我正在尝试将样式应用于除.reset-this之外的所有元素以及作为.reset-this的后代的元素.我的CSS无效.它不适用于任何元素.
*:not(.reset-this, .reset-this *) { //styles in here }
要查看它如何工作的实例,请访问此小提琴:http://jsfiddle.net/sh39L882/1/
1> loganfsmyth..:
在CSS 3中,更具体地说是选择器级别3:
否定伪类,不是(X),是一个函数符号,它将一个简单的选择器(不包括否定伪类本身)作为参数.
这里的关键是simple selector
.:not
只能访问简单的选择器.classsName
,而不是a ,
或者.className .child
.
但请注意,这已在选择器级别4中更新:
否定伪类:not(),是一个以选择器列表作为参数的函数伪类.
需要注意的变化simple selector
来selector list
.这意味着您尝试做的事情是可能的,但仅限于实施新规范的浏览器.
您可以随时广泛应用样式,然后还原它们:
* {
color: red
}
.reset-this, .reset-this * {
color: black;
}
但这非常糟糕,粗暴丑陋.正如您所评论的那样,设计类结构以避免这种情况会好得多.