繁体   English   中英

CSS:不是选择器不起作用

[英]CSS :not selector doesn't work

这可能是一个非常愚蠢的问题,但我不能得到:不是选择器在css中工作。 我想为我的页面中的所有文本着色,除非它有一个名为“nocolor”的类。 这是代码,我没有看到问题:

 *:not(.nocolor) { color: #f00; } 
 <h2>Hello</h2> <h2 class="nocolor">Hello</h2> 

我对此行为感到惊讶,但*选择器适用于所有内容,因此您必须注意应用于父元素(如body和html标签本身)。

您可以通过向选择器添加body来修复它,如下所示:

body *:not(.nocolor) {
   color: red;
}

您的选择器应该像这样写:

:not(.nocolor) {
    color: #f00;
}

删除'*',这将选择页面上的所有内容

请参阅此处的文档: MDN

这是因为*应用于包含body每个元素,而没有.nocolor类。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM