Здравствуйте, может я чего-то не понимаю или не до конца понял, но почему :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>