Ich muss den Text in allen Elementen eines HTML-Dokuments mit Ausnahme der in einer bestimmten Klasse verschachtelten formatieren. Ich habe keine Kontrolle über das HTML, ich kann nur das CSS ändern.: nicht Selektor in CSS
hier ein Stück Code ist:
<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>
Ich möchte alle text
Elemente, außer denen in einem c1
Elemente, fett zu sein. Ich weiß nicht im Voraus, wie viele Spalten es geben kann.
Ich habe die folgende CSS versucht, die Verwendung des :not
Wähler macht, aber es macht alles fett:
.container {
display: flex;
}
.column {
padding: 0 1em;
}
:not(.c1) .text {
font-weight: bold;
}
Warum ist nicht die :not
Wähler zu arbeiten? Was mache ich falsch? Here is a jsfiddle ausprobieren.
Obwohl es zu beachten, dass Der Grund, warum ': not (.c1) .text' nicht funktioniert, ist, dass nach [MDN] (https://developer.mozilla.org/en/docs/Web/CSS/:not)': nicht(foo) {} 'passt alles an, was nicht foo ist, ** einschließlich' 'und'
'**, so dass es' .container .text', 'html .text' und' body.text' entspricht. – 5aledmaged