Die wichtigsten Selektoren in CSS

Übersicht der wichtigsten und am häufigsten verwendeten CSS-Selektoren

Stern Selektor

Einer der grundlegendsten Selektoren in CSS ist der * -Selektor. Mit diesem Selektor können beliebige Elemente einer Seite ausgewählt werden:

* {
    margin: 0;
    ...
}

Der Selektor wird häufig eingesetzt um margin oder padding (und auch andere Attribute) zu normalisieren, weil unterschiedliche Browser hier häufig verschiedene Werte verwenden.

Der * Selektor kann natürlich mit anderen Selektoren verschachtelt werden, zB. div * { ... } um alle Elemente aller div Knoten auszuwählen.

ID Selektor

Der ID Selektor #ID dient um einen bestimmten Knoten mit einer eindeutigen id zu selektieren, zB. <div id="test"></div>

#test { ... }

Class Selektor

Jedes HTML Element kann ein class Attribut haben. Mit dem Klassen-Selektor können dann solche Elemente gezielt ausgewählt werden, zB. <div class="test"></div>

.test { ... }

Bei dem Klassen-Selektor wird im Css einfach ein Punkt vor dem Namen der Klasse gesetzt.

Element Selektor

Elementen Selektor dient zur Auswahl ganzer HTML Elemente, zB. h1 { font-size: 1rem } . Dieser Selektor kann auch verschachtelt werden zB.

article h1 { font-size: 1.2rem }

In diesem Beispiel werden nur h1 Elemente, die innerhalb eines <article>...</article> Knoten vorkommen, selektiert.

Pseudoklassen Selektoren

Über Pseudoklassen können Elemente selektiert werden, die eine bestimmte Eigenschaft besitzen. Man unterscheidet grundsätzlich zwischen strukturellen (durch Anordnung der Elemente) und dynamischen (durch eine dynamische Eigenschaft) Pseudoklassen.

Zu den am häufigsten benutzen Pseudoklassen gehören:

Benachbarter ("+" und "~") Selektor

Mit "+" wird nur das Element ausgewählt, dem das vorherige Element unmittelbar vorausgeht:

<ul> ...</ul><p>yellow</p>

ul + p {
   color: yellow;
}

Der "~" Selektor ist weniger strikt und wählt alle nachfolgenden Elemente eines bestimmten Knoten:

<ul> ...</ul><p>yellow</p><p>yellow</p><p>yellow</p>

Erstes Kind-Element ">" Selektor

Es wird nur das Element ausgewählt, das ein erstes Kind-Element eines übergeordnetes Element ist: <div><span> ... </span></div>

div > span { ... }

Attribut-Selektoren

Mit dem Attribut-Selektoren können alle Elemente gewählt werden, die diesen Attributen besitzen, zB:

a[title] { ... }

um alle Link-Elemente mit einem title auszuwählen.

Man kann auch den Wert des Attributs spezifizieren um die Selektion weiter einzuschränken. Zusätzlich ist es möglich mit einem "*" anzugeben, dass der gesuchte Wert an beliebiger Stelle in dem Wert des Attributs vorkommen kann. Mit "$" bzw. "^" kann man angeben, dass der Wert am Ende oder am Anfang des Attributwertes vorkommt:

a[title="Link-Title"] { ... }
a[title*="Title"] { ... }
a[href$=".png"] { ... }
a[href^="https"] { ... }

Negation Selektor

Ermöglicht die Auswahl aller Elemente, die nicht zu dem in den Klammern angegebenen Auswahlkriterium passen, zB.

p:not(#foobar) {
    font-weight: bold;
}

Für alle Paragraph-Element außer einem mit der ID #foobar