CSS селектор, не является потомком - PullRequest
7 голосов
/ 10 января 2012

Как мне выбрать изображения в этом документе, которые не находятся внутри элемента с классом .todeep?В случае ниже второго и третьего элемента должны быть выбраны.Я не знаю, насколько глубокими будут изображения после элемента «todeep».

<body>
   <div class="todeep">
       <img>
   </div>
   <div>
       <img>
       <div>
           <img>
           <div class="todeep">
               <img>
               <div>
                   <img />
               </div>
           </div>
       </div>
   </div>
</body>

Сначала я подумал о простом решении: *: not (.todeep) img, но это также выберет изображениясреди которых есть предки, не имеющие «глубокого погружения».

1 Ответ

4 голосов
/ 10 января 2012

Вам нужно будет выбрать все изображения, а затем отменить те, у которых .todeep родитель.

Так что вместо

img { background-color: blue; width: 20px; height: 20px; }
*:not(.todeep) img { background-color: red; }

использование

img { background-color: red; width: 20px; height: 20px; }
.todeep img { background-color: blue; }

(пример кода, заимствованного у Вас jsfiddle )

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