Maison > Questions et réponses > le corps du texte
Je souhaite changer le style d'un élément s'il n'a pas un certain élément parent sans avoir à l'écraser à sa valeur d'origine.
Voir https://jsfiddle.net/xqb2z8tc/ Le problème avec le code ci-dessus est qu'en raison de l'utilisation intensive de mixins, il génère beaucoup de CSS, nous souhaitons donc le réécrire. J'ai pensé à utiliser le sélecteur ':has()' (la prise en charge du navigateur nous convient), mais je ne sais pas comment.
Semblable au code ci-dessous, mais cela devrait fonctionner dans tous les cas, voir le jsfiddle ci-dessus.
.dark-view:not(:has(.obox)) p { color: white; }
P粉9492671212024-01-17 10:02:06
D'après mon interprétation de la question, il semble que vous souhaitiez appliquer color: #fff
à tous les éléments
dans color: #fff
应用于 .dark- 中的所有
不是 元素view
.obox
元素的后代。如果是这种情况,请考虑使用选择器 .dark-view p:not(.obox *)
.dark-view
not < Les descendants de l'élément code>.obox. Si tel est le cas, pensez à utiliser le sélecteur .dark-view p:not(.obox *)
:
p { color: #111; } .dark-view p:not(.obox *) { color: #fff; } /* irrelevant demo stuff */ .dark-view { background: #333; padding: 10px; } .obox { background: #eee; border: 1px solid red; padding: 2px; margin-bottom: 5px; }
<div class="dark-view"> <div class="obox"> <p>default</p> </div> <div> <div class="obox"> <p>default</p> </div> </div> <div> <div> <div class="obox"> <p>default</p> </div> </div> </div> <p>ondark</p> <div> <p>ondark</p> </div> </div> <p>default</p> <div class="dark-view"> <p>ondark</p> <div> <p>ondark</p> </div> <div> <div> <p>ondark</p> </div> </div> </div>