CSS выбрать все, но игнорировать конкретного родителя и всех его детей - PullRequest
0 голосов
/ 01 января 2019

Мне нужно что-то вроде этого:

html.select_everything :not(#ignore-me):not(#ignore-me *)

Выше не работает, потому что я не могу использовать и #ignore-me и * в одном и том же :not.Есть ли простое решение CSS для этого?

Ответы [ 2 ]

0 голосов
/ 01 января 2019

Надеюсь, это поможет вам

 .select_everything :not(#ignore-me,#ignore-me *) {
           //your css here
        }
0 голосов
/ 01 января 2019

Не совсем.

Подход, который будет надежно работать, заключается в переопределении стиля:

.select_everything, .select_everything * {
   color:red; border:solid 1px silver;padding:2px;
}

.select_everything #ignore-me, .select_everything #ignore-me * {
  color:black;border:none;
}
<div class="select_everything">
  top level <div>under top level</div>
  <div id="ignore-me">not this <div>or this</div></div>
</div>

То, что вы пытаетесь сделать, не поддерживается. MDN -: not () говорит, что использование , в :not в поддерживается только в Safari:

Возможность перечислить более одного селектора является экспериментальной и пока не широкоподдерживается.

Кроме того, :not не предназначен для вложенных селекторов, таких как a *, см. вложение внутри селекторов css: not ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...