Я пытаюсь использовать свойство :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(), либо иначе?