CSS :not 选择器不起作用
CSS :not selector doesn't work
这可能是一个非常愚蠢的问题,但我无法让 :not 选择器在 css 中工作。我想为页面中的所有文本着色,除非它有一个名为 "nocolor" 的 class。这是代码,我没有看到问题:
*:not(.nocolor) {
color: #f00;
}
<h2>Hello</h2>
<h2 class="nocolor">Hello</h2>
我对这种行为感到惊讶,但是 * 选择器适用于 所有东西 所以你还必须注意对父元素的应用(比如 body 和 html标记自己)。
您可以通过将 body
添加到选择器来修复它,如下所示:
body *:not(.nocolor) {
color: red;
}
你的select或者应该这样写:
:not(.nocolor) {
color: #f00;
}
删除“*”,这将 select 页面上的所有内容。
在此处查看文档:MDN
这是因为 *
应用于每个元素,包括 body
,它没有 .nocolor
class.
这可能是一个非常愚蠢的问题,但我无法让 :not 选择器在 css 中工作。我想为页面中的所有文本着色,除非它有一个名为 "nocolor" 的 class。这是代码,我没有看到问题:
*:not(.nocolor) {
color: #f00;
}
<h2>Hello</h2>
<h2 class="nocolor">Hello</h2>
我对这种行为感到惊讶,但是 * 选择器适用于 所有东西 所以你还必须注意对父元素的应用(比如 body 和 html标记自己)。
您可以通过将 body
添加到选择器来修复它,如下所示:
body *:not(.nocolor) {
color: red;
}
你的select或者应该这样写:
:not(.nocolor) {
color: #f00;
}
删除“*”,这将 select 页面上的所有内容。
在此处查看文档:MDN
这是因为 *
应用于每个元素,包括 body
,它没有 .nocolor
class.