CSS-Selektoren im Überblick
Wir haben uns in den letzten drei Wochen mit CSS-Selektoren befasst. In dieser Infografik fasse ich noch einmal alle CSS-Selektoren zusammen, sodass du ein übersichtliches Nachschlagewerk hast, um deine HTML-Elemente gezielt und sinnvoll über die CSS-Selektoren anzusprechen.
CSS Selektoren Cheatsheet
Selektor | HTML | CSS | Erklärung |
---|---|---|---|
Element-Selektor | <p></p> | p {} | Selektiert alle HTML-Elemente dieser Art. In diesem Beispiel alle p-Tags. |
Klassen-Selektor | <p class=„eine-klasse“></p> | .eine-klasse {} | Selektiert alle HTML-Elemente mit dieser Klasse. |
Element-Klassen-Selektor | <p class=„eine-klasse“></p> | p.eine-klasse {} | Selektiert alle p-Tags mit dieser Klasse. Andere HTML-Tags mit dieser Klasse bleiben von der Stilanweisung unberührt. |
ID-Selektor | <p id=„eine-id“></p> | #eine-id {} | Selektiert HTML-Tags mit dieser ID. Da eine ID immer einmalig sein muss, spricht dieser Selektor nur das eine HTML-Element mit dieser ID an. Logisch, oder? |
Mehrere Selektoren | <p></p> <a class=“eine-klasse“></a> |
p, a.eine-klasse {} |
Mehrere Selektoren werden durch ein Komma getrennt (und am besten in eine neue Zeile geschrieben). Egal um welche Art von Selektor es sich handelt. |
Kombination von Selektoren | <div class=“eine-klasse“> <p></p> </div> |
div.eine-klasse p {} | Wenn du Selektoren kombinierst, wirkt die Stilanweisung nur, wenn sie diese Kombination von HTML-Elementen findet. In diesem Beispiel also nur dann, wenn ein p-Tag sich in einem div-Tag mit dieser Klasse befindet. Alle anderen p-Tags bleiben von dieser Regel ausgeschlossen. |
Universeller Selektor | Betrifft alle HTML-Elemente | * {} | Mit dem universellen Selektor sprichst du alle HTML-Elemente in diesem Dokument an. Dieser Selektor wird oft für ein CSS-Reset verwendet. |
Universeller Selektor in einem Eltern-Element | <div class=“eine-klasse“> <p></p> <a></a> </div> |
div.eine-klasse * {} | Mit dem universellen Selektor sprichst du alle HTML-Elemente in diesem Eltern-Element (in unserem Beispiel dem div-Tag mit der Beispiel-Klasse) an. |
Kind-Selektor | <div class=“eine-klasse“> <p></p> </div> <p></p> |
div.eine-klasse > p {} | Mit dem Kind-Selektor definierst du, welche Kind-Elemente eines Eltern-Elements du ansprechen willst. Alle Elemente dieses Typs, die nicht Kind des Eltern-Elements sind, bleiben von der Stilanweisung unberührt. In unserem Beispiel ist das eine p-Tag Kind-Element des div-Tags und wird angesprochen, während das andere p-Tag, welches eben kein Kind des Eltern-Divs ist, nicht angesprochen wird. |
Kind-Selektor | <div class=“eine-klasse“> <p></p> </div> <p></p> |
div.eine-klasse > p {} | Mit dem Kind-Selektor definierst du, welche Kind-Elemente eines Eltern-Elements du ansprechen willst. Alle Elemente dieses Typs, die nicht Kind des Eltern-Elements sind, bleiben von der Stilanweisung unberührt. In unserem Beispiel ist das eine p-Tag Kind-Element des div-Tags und wird angesprochen, während das andere p-Tag, welches eben kein Kind des Eltern-Divs ist, nicht angesprochen wird. |
Folge-Selektor | <div class=“eine-klasse“> <p></p> <p></p> </div> |
div + p {} | Mit dem Folge-Selektor sprichst du nur dieses eine HTML-Element an, welches direkt auf ein anderes HTML-Element folgt. Alle anderen bleiben unberührt. In unserem Beispiel, also nur das erste p-Tag, welches auf das div-Tag mit der Beispiel-Klasse folgt. Das zweite p-Tag folgt nicht direkt auf das div-Tag mit der Beispiel-Klasse und bleibt deshalb unberührt. |
Kombinierter Folge-Selektor | <div class=“eine-klasse“> <p></p> <a></a> <a></a> </div> |
div + p + a {} | Mit dem kombinierten Folge-Selektor sprichst du nur dieses eine HTML-Element an, welches direkt auf ein anderes HTML-Element folgt, das wiederum auf ein anderes HTML-Element folgt. Alle anderen bleiben unberührt. In unserem Beispiel, also nur das a-Tag, welches auf das erste p-Tag folgt, welches wiederum auf das div-Tag mit der Beispiel-Klasse folgt. Das zweite a-Tag folgt nicht direkt auf das div-Tag und das p-Tag mit der Beispiel-Klasse und bleibt deshalb unberührt. |
Universeller Folge-Selektor | <div class=“eine-klasse“> <p></p> <p></p> </div> |
div ~ p {} | Mit dem universellen Folge-Selektor sprichst du alle spezifischen HTML-Elemente an, welches direkt auf ein anderes HTML-Element folgen. In unserem Beispiel also alle p-Tags, die auf das div-Tag mit der Beispiel-Klasse folgen. |
Attribut-Selektor | <a href=“https://code-crowd.de/“></a> <a></a> |
[href] {} | Mit dem Attribut-Selektor sprichst du alle HTML-Tags an, die dieses Attribut haben. Elemente ohne dieses Attribut bleiben von der Stilanweisung unberührt. |
Element-Attribut-Selektor | <a href=“https://code-crowd.de/“></a> <a></a> |
a[href] {} | Mit dem Element-Attribut-Selektor sprichst du alle HTML-Tags an, die dieses spezifische Tag sind (in unserem Beispiel ein a-Tag) und dieses Attribut (in unserem Beispiel ein href-Attribut) haben. Andere Elemente und dieselben Elemente ohne dieses Attribut bleiben von der Stilanweisung unberührt. |
Attribut-Start-Selektor | <a target=“_blank“></a> <a></a> |
a[target^=“_“] {} | Mit dem Attribut-Start-Selektor sprichst du alle HTML-Tags an, die in diesem spezifischen Attribut, den vorgegebenen Anfang haben. In unserem Beispiel das a-Tag mit dem Attribut target, denn der Attribut-Wert _blank starte mit einem _. |
Attribut-Ende-Selektor | <a target=“_blank“></a> <a></a> |
a[target$=“k“] {} | Mit dem Attribut-Ende-Selektor sprichst du alle HTML-Tags an, die in diesem spezifischen Attribut, das vorgegebene Ende haben. In unserem Beispiel das a-Tag mit dem Attribut target, denn der Attribut-Wert _blank endet mit einem k. |
Attribut-Wildcard-Selektor | <a target=“_blank“></a> <a></a> |
a[target*=“ank“] {} | Mit dem Attribut-Wildcard-Selektor sprichst du alle HTML-Tags an, die in diesem spezifischen Attribut, den vorgegebenen Teilwert haben. In unserem Beispiel das a-Tag mit dem Attribut target, denn der Attribut-Wert _blank hat den Teilwert ank. |
Attribut-Start-Selektor | <a target=“_blank“></a> <a></a> |
a[target=“_blank“] {} | Mit dem Attribut-Wert-Selektor sprichst du alle HTML-Tags an, die diese spezifische Kombination aus Tag, Attribut und Attribut-Wert haben. In unserem Beispiel das a-Tag mit dem Attribut target und dem Attribut-Wert _blank. Andere Elemente ohne diese Attribut-Wert-Kombination bleiben von der Stilanweisung unberührt. |
Pseudo-Klassen-Selektor | <a></a> | a:hover {} | Mit dem Pseudo-Klassen-Selektor sprichst du keine tatsächlichen HTML-Elemente an, sondern Zustände, die durch die Interaktion mit der Website entstehen. In unserem Beispiel das Hovern über einen Link. |
Pseudo-Element-Selektor | <a></a> | a::before {} | Mit dem Pseudo-Element-Selektor sprichst du keine tatsächlichen in HTML geschriebenen Elemente, sondern Pseudo-Elemente, die dadurch entstehen, dass du sie per CSS ansprichst. In unserem Beispiel fügen wir vor allen Links Inhalt ein. |
:not Pseudo-Selektor | <a></a> <p></p> |
:not(p) {} | Mit dem :not Pseudo-Selektor sprichst du alle Elemente an, die nicht das angegebene Element sind. In unserem Beispiel also das a-Tag, da es kein p-Tag ist. |
Erstes-Kind-Selektor | <p></p> <p></p> |
p:first-child {} | Mit dem Erstes-Kind-Selektor sprichst du das erste Elemente an, das Teil einer Reihe von Kind-Elementen ist. In unserem Beispiel also das erste p-Tag, da es sowohl ein p-Tag also auch das erste Element der Kind-Elemente ist. |
Letztes-Kind-Selektor | <p></p> <p></p> |
p:last-child {} | Mit dem Letztes-Kind-Selektor sprichst du das letzte Elemente an, das Teil einer Reihe von Kind-Elementen ist. In unserem Beispiel also das letzte p-Tag, da es sowohl ein p-Tag also auch das letzte Element der Kind-Elemente ist. |
Einziges-Kind-Selektor | <div> <p></p> </div> |
p:only-child {} oder div :only-child {} |
Mit dem Einziges-Kind-Selektor sprichst du ein HTML-Element an, dass das einzige Kind eines Eltern-Elements ist. Du kannst, wie in unserem Beispiel entweder das Kind-Element direkt benennen oder sein Eltern-Element, durch ein Leerzeichen getrennt, nennen, um dann das einzige Kind-Element anzusprechen. |
Wiederholungs-Selektor :nth-child() | <div> <p></p> <p></p> </div> |
p:nth-child(2) {} oder p:nth-child(even) {} oder p:nth-child(odd) {} oder div :nth-child(odd) {} |
Mit dem Wiederholungs-Selektor :nth-child() sprichst du jedes so-und-so-vielte bzw. gerade oder ungerade HTML-Element an, dass das Kind eines Eltern-Elements ist. Du kannst, wie in unserem Beispiel entweder die Startzahl für den Wiederholungs-Selektor direkt benennen (wir haben 2 verwendet, daher greift der Style bei jedem zweiten Element) oder für jedes gerade oder ungerade Element das jeweils englische Wort even oder odd verwenden. Das letzte CSS-Beispiel zeigt, wie du den Wiederholungs-Selektor über das Eltern-Element verwendest. Weitere Details dazu hier. |
Wiederholungs-Selektor :nth-last-child() | <div> <p></p> <p></p> </div> |
p:nth-last-child(2) {} oder p:nth-last-child(even) {} oder p:nth-last-child(odd) {} oder div :nth-last-child(odd) {} |
Mit dem umgekehrte Wiederholungs-Selektor :nth-last-child() sprichst du jedes letzte so-und-so-vielte bzw. gerade oder ungerade HTML-Element an, dass das Kind eines Eltern-Elements ist. Es wird also von hinten gezählt. Du kannst, wie in unserem Beispiel entweder die Startzahl für den Wiederholungs-Selektor direkt benennen (wir haben 2 verwendet, daher greift der Style bei jedem zweiten Element beginnend ab dem letzten) oder für jedes gerade oder ungerade Element das jeweils englische Wort even oder odd verwenden. Das letzte CSS-Beispiel zeigt, wie du den Wiederholungs-Selektor über das Eltern-Element verwendest. |
Erster-Typ-Selektor | <div> <p></p> <p></p> </div> |
p:first-of-type {} | Mit dem Erstes-Art-Selektor wählst du das erste Element dieser Art aus. In unserem Beispiel also das erste p-Tag. |
Letzte-Typ-Selektor | <div> <p></p> <p></p> </div> |
p:last-of-type {} | Mit dem Letzte-Art-Selektor wählst du das letzte Element dieser Art aus. In unserem Beispiel also das letzte p-Tag. |
Einzige-Typ-Selektor | <div> <p></p> <a></a> <p></p> </div> |
a:only-of-type {} | Mit dem Einzige-Art-Selektor wählst du das einzige Element dieses Typs aus. In unserem Beispiel also das einzige a-Tag. |
Wiederholungs-Typ-Selektor | <div> <p></p> <p></p> <p></p> </div> |
:nth-of-type(3) {} | Mit dem Wiederholungs-Typ-Selektor wählst du das Element dieses Typs aus, das in einer von dir festlegten Reihenfolge angesprochen wird. In unserem Beispiel also jedes dritte p-Tag. Die unterschiedlichen Arten der Verwendung kannst du den Beispielen der Wiederholungs-Selektoren entnehmen. |
P.S. Wenn dir der Artikel gefallen hat, abonniere doch die wöchentlichen Tutorials auf YouTube, den E-Mail-Newsletter oder Beteilige dich an der Diskussion auf Facebook.
Infobox
CSS Menü erstellen
CSS Menü/Navigation erstellen Heute erstellen wir gemeinsam ein Menü in... Programmieren lernen
16 Apr 2019
CSS-Selektoren – Teil 4
Weitere Selektoren Ich habe mich entschieden, doch noch weiter auf... Programmieren lernen
2 Apr 2019
CSS-Selektoren – Teil 3
Attribut-Selektoren Du kannst HTML-Elemente auch anhand ihres Attributs ansprechen. Zur... Programmieren lernen
26 Mrz 2019
Kommentare