Die wichtigsten Selektoren in CSS

Anfänger 2019 Mai 9 (23:19) 0
Ü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:

  • :first-child erstes Kind-Element
  • :last-child letztes Kind-Element
  • :nth-child() n-tes Kind-Element, zB. :nth-child(odd) oder nth-child(2n+1) für alle ungeraden Kind-Elemente
  • :first-of-type() erstes Kind-Element eines bestimmten Types
  • :last-of-type letztes Kind-Element eines bestimmten Types
  • :nth-of-type() n-tes Kind-Element eines bestimmten Types
  • :visited besuchte Link Elemente
  • :hover, :active, :focus von Mauszeiger erfasste Elemente, gerade angeklickte Links, Elemente mit Fokus
  • :disabled, :checked gesperrte Elemente (zB. button), ausgewählte Elemente (zB. checkbox)
  • :after, :before geben die Möglichkeit Inhalte um die Selektieren Elemente (vor bzw. nach dem Element) zu erzeugen

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

Durch die Nutzung dieser Website erklären Sie sich mit der Verwendung von Cookies einverstanden. Außerdem werden teilweise auch Cookies von Diensten Dritter gesetzt. Genauere Informationen finden Sie in unserer Datenschutzerklärung sowie im Impressum.