里面有多个类:not()

我试图使用:not()属性从规则中排除一对类,例如:

 *:not(.class1, class2) { display: none; } 

但是,它看起来像not()属性不支持逗号分隔的类,如这个小提琴中所示 。

HTML:

 <div class='one'> foo </div> <div class='two'> foo </div> <div class='three'> foo </div> <div class='four'> foo </div> 

CSS:

 div { background-color: #CBA; } div:not(.one) { background-color: #ABC; } div:not(.one, .three) { color: #F00; } 

第一条和第二条规则适用,但第三条不适用。

我不能做*:not(.class1), *:not(.class2)因为任何具有class2元素都将被*:not(.class1)选中,反之亦然。

我不想这样做

 * { display: none;} .class1, .class2 { display: inline; } 

因为不是所有的.class1.class2元素都具有相同的原始显示属性,我希望他们保留它。

如何从规则中排除多个类,使用not()属性或其他方法?

您可以使用:

 div:not(.one):not(.three) { color: #F00; } 

小提琴