CSS:not()不工作

CSS:not()不工作,css,Css,我想用class.test选择div中的所有元素,我成功地做到了这一点 .test * {} 这绝对选择了.test元素的所有子元素,尽管我不想选择class.nope的子元素或.nope的任何子元素,但我尝试了以下方法,但不起作用。它实际上取消了所有子项的选择 .test *:not( .nope ) <div class="test"> <div></div> <div></div> <div class

我想用class.test选择div中的所有元素,我成功地做到了这一点

.test * {}
这绝对选择了.test元素的所有子元素,尽管我不想选择class.nope的子元素或.nope的任何子元素,但我尝试了以下方法,但不起作用。它实际上取消了所有子项的选择

.test *:not( .nope )

<div class="test">
   <div></div>
   <div></div>
   <div class="nope">
      <div></div>
   </div>
</div>
尝试以下方法:

.test * {color:red;}
.test .nope * {color: initial;}

请参阅:

如果.nope是.test的直接子元素,那么您可以使用.test>*:not.nope,它可以工作-实际上是动态的,并且不会总是它的直接子元素。@UserDy:CSS正确地选择了您想要的元素。也许问题是您正在操作由其子级继承的属性?非常好且简单的解决方案,尽管初始设置会改变子级的样式吗?或者初始样式是否应用了以前在css中设置的样式?