Heim > Web-Frontend > CSS-Tutorial > Wie schließe ich bestimmte Klassennamen in CSS-Selektoren aus?

Wie schließe ich bestimmte Klassennamen in CSS-Selektoren aus?

Mary-Kate Olsen
Freigeben: 2024-11-04 22:29:01
Original
1056 Leute haben es durchsucht

How to Exclude Specific Class Names in CSS Selectors?

Bestimmte Klassennamen in CSS-Selektoren ausschließen

In CSS gibt es Fälle, in denen Sie möglicherweise bestimmte Klassennamen aus Ihren Selektoren ausschließen müssen. Dies ist besonders nützlich, wenn Sie Stile auf mehrere Elemente anwenden möchten, bestimmte diese Stile jedoch nicht erben sollen.

Ein häufiges Szenario besteht darin, Elemente mit einem bestimmten Klassennamen auszuschließen, während Stile auf Elemente mit einem anderen Klassennamen angewendet werden. Betrachten wir das folgende Beispiel:

<code class="html"><a href="" title="Design" class="reMode_design reMode_hover">
    <span>Design</span>
</a>

<a href="" title="Design" class="reMode_design reMode_hover reMode_selected">
    <span>Design</span>
</a></code>
Nach dem Login kopieren

In diesem Beispiel möchten wir beim Hover eine Hintergrundfarbe auf Elemente mit dem Klassennamen „reMode_hover“ anwenden. Wir möchten diese Farbe jedoch nicht anwenden, wenn das Element auch den Klassennamen „reMode_selected“ hat.

<code class="css">/* Do not apply background-color (leave empty) */
.reMode_selected .reMode_hover:hover { }

.reMode_hover:hover { background-color: #f0ac00; }</code>
Nach dem Login kopieren

Obwohl Sie vielleicht erwarten würden, dass die erste Regel funktioniert, ist dies nicht der Fall. Dies liegt daran, dass in CSS ein Leerzeichen zwischen Klassennamen den Nachkommenselektor bezeichnet. „.reMode_selected .reMode_hover“ bedeutet also „wählen Sie .reMode_hover-Elemente aus, die Nachkommen von .reMode_selected sind.“

Um „reMode_selected“-Elemente korrekt auszuschließen, müssen wir den Selektor „not()“ verwenden. Das aktualisierte CSS wäre:

<code class="css">.reMode_hover:not(.reMode_selected):hover { background-color: #f0ac00; }</code>
Nach dem Login kopieren

Diese Regel wendet die Hintergrundfarbe auf .reMode_hover-Elemente an, die nicht den Klassennamen .reMode_selected haben. Dadurch erhält beim Hover nur der erste Link die Hintergrundfarbe, der zweite Link hingegen nicht.

Das obige ist der detaillierte Inhalt vonWie schließe ich bestimmte Klassennamen in CSS-Selektoren aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage