CSS-Selektoren
Selektoren bestimmen, welche HTML-Elemente von einer CSS-Regel angesprochen werden. Sie legen fest, welche Elemente im Dokument tatsächlich gestaltet werden.
Elementselektoren
Der einfachste Selektor. Er wirkt auf alle Elemente dieses Typs.
h1 { color: green; }
body { background-color: gray;}
Alle <h1> werden grün dargestellt, der Hintergrund des gesamten Dokuments ist grau.
Gruppenselektoren
Mehrere Selektoren können zusammengefasst werden. Die Trennung erfolgt mit Kommas.
h2, h3 { color: gray; }
Die Regel gilt gleichzeitig für h2 und h3.
Kontextsensitive Selektoren
Kontextsensitive Selektoren (auch: Nachfahren-Selektoren) treffen ein Element nur dann, wenn es innerhalb eines bestimmten Kontextes vorkommt. Du beschreibst damit nicht nur welches Element, sondern auch wo es stehen muss.
h1 { color: red;}
h1 a { color: blue; }
h1 a bedeutet: „ein a-Element, das irgendwo im h1 liegt“.
So kannst du Links im Titel anders stylen als Links im restlichen Inhalt.
Wofür nutzt man Kontext?
nav a– Navigation-Links anders gestalten als normale Linksarticle p– Text im Artikel anders behandeln als Text in der Sidebar.card h3– Überschriften innerhalb einer Komponente gezielt stylen
Praxis-Regel: Kontext ist ideal, wenn du Bereiche wie Navigation, Footer oder Sidebar sauber trennen willst. Wenn Selektoren zu lang werden, ist oft eine zusätzliche Klasse die bessere Lösung.
Klassenselektoren
Klassen werden über das Attribut class vergeben und können beliebig oft
wiederverwendet werden. Der Klassenname ist ein frei gewählter Bezeichner
(z.B. .button, .karte, .warning).
CSS
.blau { color: blue; }
HTML
<p class="blau">Dieser Text ist blau</p>
Wie benennt man Klassen?
- Erlaubt sind Buchstaben, Zahlen, Bindestrich und Unterstrich (z.B.
.btn-primary,.card_2). - Best Practice: nicht mit einer Zahl beginnen. Technisch geht das, aber in CSS ist dann oft ein Escape nötig – unnötig kompliziert.
- Wähle Namen nach Bedeutung/Funktion (z.B.
.button,.is-active) statt nach Aussehen (z.B..blue), wenn du Komponenten langfristig pflegen willst.
Klassen können auch an ein bestimmtes Element gebunden werden. In diesem Fall gilt die Regel nur für dieses Element in Kombination mit der Klasse.
h2.rot { color: red; }
<h2 class="rot">Rote Überschrift</h2>
Die Klasse rot wirkt hier nur auf h2-Elemente.
Ein <h1 class="rot"> würde von dieser Regel nicht angesprochen.
- Eine Klasse allein (
.rot) ist allgemein. - Eine Klasse mit Element (
h2.rot) ist elementgebunden.
Mehrere Klassen kombinieren
Ein Element kann mehrere Klassen besitzen. Die Klassen werden durch Leerzeichen getrennt.
Normales Absatz-Element
<p>Inhalt</p>
Eingerückter Absatz
Dieser Absatz wird über die Klasse zitat eingerückt.
<p class="zitat">Inhalt</p>
Absatz mit Farbe
Dieser Absatz erhält seine Farbe über eine Klasse.
<p class="deeppink">Inhalt</p>
Kombination mehrerer Klassen
Dieser Absatz ist eingerückt und farbig. Beide Klassen wirken gleichzeitig auf dasselbe Element.
<p class="deeppink zitat">Inhalt</p>
ID-Selektoren
IDs identifizieren ein Element eindeutig. Eine ID darf im Dokument nur einmal vorkommen.
<div id="logo">LOGO</div>
#logo {
background-color: green;
}
ID und Klassen kombinieren
IDs definieren die Struktur, Klassen variieren das Erscheinungsbild. Dieses Muster wird häufig bei Layout-Elementen eingesetzt.
HTML
<div id="banner" class="produkte"></div>
<div id="banner" class="ueberuns"></div>
CSS
.produkte {
background-image: url(images/produkte.jpg);
}
.ueberuns {
background-image: url(images/ueberuns.jpg);
}
Kurz gesagt
Selektoren definieren was gestylt wird. Kontextselektoren definieren zusätzlich wo es stehen muss. Klassen sind flexibel, IDs eindeutig.