Мне нужно стилизовать текст во всех элементах HTML-документа, кроме тех, которые вложены в определенный класс. Я не могу контролировать HTML, я могу только изменить CSS.: не selector в CSS
Вот кусок кода:
<div class="container">
<div class="column c1">
<div class="text">
text in column 1
</div>
</div>
<div class="column c2">
<div class="text">
text in column 2
</div>
</div>
<div class="column c3">
<div class="text">
text in column 3
</div>
</div>
</div>
Я хочу, чтобы все text
элементы, за исключением тех, в c1
элемента, чтобы быть смелым. Я не знаю заранее, сколько столбцов может быть.
Я попытался следующий CSS, который использует селектор :not
, но он делает все смелое:
.container {
display: flex;
}
.column {
padding: 0 1em;
}
:not(.c1) .text {
font-weight: bold;
}
Почему селектор :not
не работает? Что я делаю не так? Here is a jsfiddle, чтобы испытать.
Хотя следует отметить, что причина, по которой ': not (.c1) .text' не работает, заключается в том, что согласно [MDN] (https://developer.mozilla.org/en/docs/Web/CSS/:not),': не(foo) {} 'будет соответствовать любому, что не является foo, ** включая' 'и'
'**, поэтому оно будет соответствовать' .container .text', 'html .text' и' body .text'. – 5aledmaged