Понимание: не селектор css

#css

#css

Вопрос:

Я пытаюсь разобраться в том, что не является селектором css. Я пытаюсь скрыть div с именем «InfoRow», если на странице нет класса «home»

Мой первый удар по этому:

 :not(body.home #InfoRow)  {
    display:none;
}
  

Комментарии:

1. The :not(selector) selector matches every element that is NOT the specified element/selector. w3schools.com/cssref/sel_not.asp

2. body:not(.home) #InfoRow { } может быть?

Ответ №1:

Из MDN:

Псевдокласс CSS :not() представляет элементы, которые не соответствуют списку селекторов. Поскольку он предотвращает выбор определенных элементов, он известен как псевдокласс отрицания.

:not(.foo) будет соответствовать всему, чего нет.foo, включая <html> и <body>


Поскольку класс .home будет установлен в <body> теге и #InfoRow является дочерним элементом <body> , вам нужно будет написать его следующим образом:

 body:not(.home) #InfoRow {
    display: none;
}