Comment puis-je dire à CSS: not () selector d'affecter tous les nœuds enfants?
Nov 19 2020
Veuillez consulter cet exemple minimum
.global :not(.guard) {
color: red;
}
<div class="global">
<p>I'm outside guard</p>
<div class="guard">
I'm inside guard.
<div>
<hr>
<p>
I'm a block inside guard.
</p>
<p>
I want to black color too.
</p>
<p>
How can I achieve it?
</p>
</div>
</div>
</div>
J'ai un style (SCSS) comme celui-ci
.global {
:not(.guard) {
color: red;
}
}
Je veux que tout ce qui se trouve à l'intérieur du nœud avec .guard
la couleur du nom de la classe ne soit pas affecté parcolor: red;
Comment puis-je obtenir cet effet?
Réponses
1 Rounin Nov 19 2020 at 10:07
Si j'ai bien compris l'effet que vous essayez d'obtenir, vous pouvez l'implémenter avec les deux sélecteurs suivants:
.global {
color: red;
}
.global .guard {
color: black;
}
Dans ce cas, vous n'avez vraiment pas besoin du :not()
pseudo-sélecteur du tout.
Exemple de travail:
.global {
color: red;
}
.global .guard {
color: black;
}
<div class="global">
<p>I'm outside guard</p>
<div class="guard">
I'm inside guard.
<div>
<hr>
<p>
I'm a block inside guard.
</p>
<p>
I want to black color too.
</p>
<p>
How can I achieve it?
</p>
</div>
</div>
</div>