2016-06-05 4 views
2

У меня возникли проблемы с использованием селектора css. Я хотел бы, чтобы выбрать все класс «контейнер», который не в родительском «нав»:css селектор: все кроме

<body> 
    <nav> 
     <div class="container"></div> 
    </nav> 
    <div class="container"></div> 
    <div class="container"></div> 
    <div class="container"></div> 
    ... 
</body> 

Возможно ли это с помощью селектора CSS?

РЕШЕНИЕ: решение (thx Noah): :not(nav) > .container {/** out your v=css here */}. Эта работа, если .container является прямым дочерним элементом nav.

+0

Нет AFAIK. Вы можете перезаписать стили, например, '.container {background: red; } nav .container {background: none; } '. Пробовал это на прошлой неделе, не мог найти никакого способа сделать это. –

ответ

3
:not(nav) > .container 

Обратите внимание, что это не сработает, если контейнер не находится внутри навигатора, но есть способы обойти это.

+1

Если это не прямой ребенок, но есть потомок, вы можете использовать ': not (nav) .container' – blonfu

+2

@blonfu Это не сработает; он фактически выберет все .containers, так как все они имеют родителя, который не является навигатором (а именно, телом). – Noah

+0

Спасибо, Ноа, работай как шарм для меня :) И я подтверждаю, что решение blonfu не работает – Vlant

Смежные вопросы