@Omefoxer

Почему :not() выдаёт в обоих случаях true?

Здравствуйте, может я чего-то не понимаю или не до конца понял, но почему :not() в обоих случаях, даже когда внутренний результат true выдаёт true?
Я просто думал, что если :not() даст false, то правило не исполнится, но оно исполнилось.

В других вариантах (без класса .tab) такого нет.

.tab:not(input[type="radio"][name="tab"]:checked) {
    background: #6e7080;
}


<div class="left-tool-panel">
      <div class="tabs">
        <div class="tab">
          <input type="radio" name="tab" id="tab-info" checked>
          <label for="tab-info">Info</label>
        </div>
        <div class="tab">
          <input type="radio" name="tab" id="tab-tools">
          <label for="tab-tools">Tools</label>
        </div>
      </div>
    </div>
  • Вопрос задан
  • 57 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Так элемент с классом tab у вас и не попадает под условие в :not, так что всё верно находит.
Если вам нужен элемент с классом tab не содержащий определённый input, то это селектор :not(:has()), но :has пока работает не во всех браузерах.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы