Effizient formatieren

Teil 7: CSS-Selektoren: Der Schlüssel zu funktionalem Webdesign

Daraus folgt, dass die größte Gewichtung dem ID-Selektor h2#main zugeschrieben wird. Auf Position zwei folgt im Beispiel der Klassenselektor h2.navigation.

4: Sortieren der CSS-Selektoren nach Reihenfolge

Was passiert nun aber, wenn zwei CSS-Regeln genau dieselbe Gewichtung, denselben Ursprung und dieselbe Spezifität besitzen? In diesem Fall kommt es auf die Reihenfolge an, in der die betreffenden Deklarationen aufgelistet wurden.

Diejenigen Deklarationen, die später gelistet sind, überschreiben frühere Deklarationen für dasselbe Element. Hierbei werden importierte Stylesheets vor eingebetteten CSS-Regeln ausgewertet.

Bugs in Webbrowsern

Wer die Möglichkeiten von Cascading Stylesheets wirklich ausreizen möchte, muss CSS-Selektoren richtig in den Griff bekommen. Diese sind sehr leistungsfähig, aber leider auch nur, solange der betreffende Webbrowser mitspielt. Wenn ein CSS-basiertes Layout wider Erwarten nicht so wie geplant ausfällt, ist die Ursache daher sehr häufig im Bereich der Unterstützung von CSS-Selektoren zu suchen.

Pseudoklassen versus Pseudoelemente

Pseudoklassen und Pseudoelemente werden des Öfteren miteinander verwechselt. Pseudoklassen sind Selektoren, die von dem Zustand eines existierenden Elementes abhängen. Sie verhalten sich zwar wie Klassen (Selektoren), indem sie sich auf tatsächlich existente Elemente beziehen, aber sie sind doch nicht Klassenselektoren, denn der Strukturbaum des Dokumentes (mithilfe der verwendeten Auszeichnungssprache) liefert keinerlei expliziten Hinweise auf diese Selektoren.

Ein typisches Beispiel hierfür sind Link-bezogene Pseudoklassen (PseudolinkKlassen). Sie behandeln ein Element wie

<a href="adresse">

ganz so, als ob es sich dabei um einen hypothetischen Quelltext in der Form

<a href="adresse" class="link">

oder um diesen (ebenfalls imaginären) Quelltext handelte:

<a href="adresse" class="visited">

Pseudoelemente sind Selektoren, die von dem Vorhandensein eines Elementes in dem Strukturbaum des Dokumentes ausgehen, welches dort nicht existiert - ganz so als ob der Browser dieses fehlende Element erzeugen würde. Ein typisches Beispiel eines Pseudoelementes ist :first-letter

Mithilfe des Selektors p:first-letter kann beispielsweise ein Absatz

<p>Absatz</p>

so gehandhabt werden, als ob der Strukturbaum des Dokumentes tatsächlich die Auszeichnung eines solchen Elementes enthielte. Das folgende Beispiel dient lediglich zur Visualisierung und repräsentiert keinen gültigen Quelltext:

<p><p:first-letter>A</p:first-letter>Absatz</p>

Demnach handelt es sich bei :first-child

um eine Pseudoklasse, nicht um ein Pseudoelement. Diese Pseudoklasse fügt eine CSS-Definition einem existierenden Element hinzu, ohne ein neues Element in der Dokumentstruktur zu erzeugen. Zum Beispiel hat der Selektor li:first-child dieselbe Wirkung, die sich durch die Zuweisung der Klasse first-child zu dem ersten li-Element der Liste erzielen ließe.

Mehr zum Thema

Youtube Sperre umgehen GEMA
Videos freischalten

So umgehen Sie die GEMA-Sperre bei Youtube. Was Sie dazu brauchen, und wie es am einfachsten geht.
Neue Fritzboxen unterstützen den AC-Standard.
WLAN-Geschwindigkeit verdoppeln

Mehr WLAN-Geschwindigkeit: Mit dem WLAN-Standard 802.11ac und den richtigen Geräten und Einstellungen verdoppeln Sie den Datendurchsatz.
Netflix auf dem TV
Programm in der Übersicht

Welche Filme und Serien gibt es bei Netflix eigentlich zu sehen? Was ist neu im Streaming-Angebot? Diese Antworten helfen weiter.
Netflix
Streaming

Preise, kompatible Geräte, Datenrate, Serien- und Filmangebot von Netflix: Wir beantworten die wichtigsten Fragen rund um den Streaming-Dienst.
E.T. – Der Außerirdische
Vorschau auf Film- und Serien-Highlights

Amazon Prime Instant Video lockt im Dezember 2016 mit Film-Highlights wie "E.T.", "Fast & Furious 7" und der Serie "Ku’damm 56​".