CSS-Selektoren
Eine CSS-Regel muss zwei Dinge klären: wen sie stylen soll und wie. Das „Wie“ hast du schon mit Eigenschaften, Werten und Einheiten geübt. In dieser Lektion geht es um das „Wen“ – also um den Selektor am Anfang der Regel.
Was sind CSS-Selektoren?
Ein Selektor ist ein Muster, mit dem der Browser erkennt, auf welche HTML-Elemente der Deklarationsblock angewendet werden soll. Passt der Selektor auf ein Element der Seite, bekommt dieses Element alle Stile aus den geschweiften Klammern { }.
Die Grundtypen im Überblick
Starte mit diesen vier. Kombinatoren, Attribut-Selektoren und Pseudoklassen kommen in späteren Lektionen dazu. Werde erst mit Element, class, id und * sicher.
📊 Grundlegende CSS-Selektoren
| Selektor | Trifft | Beispiel |
|---|---|---|
| Element (Typ) | Alle Elemente mit diesem Tag-Namen | p { … } |
| class | Elemente mit diesem class-Attribut | .card { … } |
| id | Das eine Element mit dieser eindeutigen id | #hero { … } |
| Universal | Jedes Element (sparsam einsetzen) | * { … } |
Element-Selektoren (Typ)
Ein Elementselektor ist einfach der Tag-Name – ohne Punkt, ohne Raute. h1 stylt jede <h1> auf der Seite, p jeden Absatz. Das ist das gröbste Werkzeug im Alltag, ideal für eine einheitliche Grundgestaltung eines Tags.
Element-Selektoren für Überschriften und Absätze
cssh1 {
color: #0f766e;
font-size: 2rem;
}
p {
color: #334155;
line-height: 1.6;
}
Wann Typ-Selektoren sinnvoll sind
Nimm sie für seitenweite Grundwerte: Textfarbe im body, Schriftstärke der Überschriften, Abstände von Listen. Sollen nur manche Absätze besonders aussehen, nimm lieber eine class, statt alle p umzugestalten.
class-Selektoren
Ein class-Selektor beginnt mit einem Punkt (.), gefolgt vom class-Namen. Im HTML markierst du Elemente mit class="card". Eine class darf auf beliebig vielen Elementen stehen – genau deshalb ist sie das Arbeitstier für wiederverwendbares Design.
class-Selektor für wiederverwendbare Karten
css.card {
background: #f8fafc;
border: 1px solid #cbd5e1;
padding: 1rem;
border-radius: 8px;
}
Das HTML muss zum class-Namen passen
Das CSS .card stylt nur Elemente, die wirklich class="card" tragen (oder mehrere classes, darunter card). Die Schreibweise muss exakt stimmen: .Card und .card sind zwei verschiedene Selektoren.
id-Selektoren
Ein id-Selektor beginnt mit einer Raute (#), gefolgt vom id-Namen. Im HTML schreibst du id="hero". Eine id muss auf der Seite eindeutig sein – also nur ein einziges Element. Nimm für das meiste Styling lieber classes und spare dir die id für einen wirklich einmaligen Fixpunkt auf.
id-Selektor für ein einmaliges Banner
css#hero {
min-height: 40vh;
background: #0f172a;
color: #f8fafc;
padding: 2rem;
}
Der Universalselektor (*)
Der Universalselektor * trifft jedes Element. Manchmal dient er für einen einfachen Reset, zum Beispiel für box-sizing. Wer damit aber alles mit Farben oder Abständen versieht, arbeitet schnell gegen das eigene Layout. Für das normale Aussehen sind gezielte Selektoren besser.
Universalselektor mit Bedacht eingesetzt
css* {
box-sizing: border-box;
}
Selektoren auf einer Seite kombinieren
Echte Stylesheets mischen die Typen: Grundwerte per Elementselektor, wiederverwendbare Bausteine per class und seltene Einzelziele per id. Das kleine Stylesheet unten zeigt diese Gewohnheit – nicht jede Regel braucht eine id.
Kleine Mischung der Selektortypen auf einer Seite
cssbody {
font-family: Georgia, serif;
margin: 0;
}
.card {
max-width: 28rem;
margin: 1rem;
}
#hero {
padding: 2rem;
}
class oder id? Eine praktische Faustregel
- Nimm classes für Buttons, Karten, Navigationslinks und alles, was du wiederverwenden könntest
- Nimm eine id nur, wenn das Ziel wirklich einmalig ist (ein Seitenbanner, das eine Hauptsuchfeld)
- Vergib nicht für jede gestylte Box eine neue id – das verhindert Wiederverwendung und macht dir in den Lektionen zur Kaskade später Probleme
Probier es selbst aus
- Füge einer Übungsseite ein
<h1>, zwei<p>, ein<div class="card">und eine<section id="hero">hinzu. - Schreibe eine Elementregel für
h1undp. - Style
.cardmit Innenabstand (padding), hellem Hintergrund und Rahmen (border). - Style
#heromit dunklem Hintergrund und hellem Text. - Optional: Ergänze
* { box-sizing: border-box; }und beobachte, dass sich der Innenabstand in der Karte berechenbarer verhält.
Häufige Fehler
card { }schreiben, obwohl.card { }gemeint war: Ohne Punkt sucht der Browser ein Element namens card, das es im HTML nicht gibthero { }statt#hero { }schreiben: Die Raute fehlt- Im HTML
class="card", im CSS aber.crd: Kein Treffer, also kein Styling - Dieselbe
idan mehrere Elemente vergeben: ungültiges HTML und unvorhersehbare Treffer - Nur Typ-Selektoren für einmalige Gestaltung verwenden: Dann ändert sich jedes
poderdiv, obwohl du nur einen Block meintest
Zusammenfassung
- Selektoren legen fest, welche HTML-Elemente die Stile einer Regel erhalten
- Elementselektoren bestehen aus dem Tag-Namen (
h1,p) - class-Selektoren beginnen mit einem Punkt (
.card) und passen auf dasclass-Attribut im HTML - id-Selektoren beginnen mit einer Raute (
#hero) und sollen genau ein eindeutiges Element treffen *trifft alles – nützlich für einen bewussten Reset, nicht für die ganze Gestaltung- Nimm classes für wiederverwendbare Oberflächen und setze ids selten und nur für Einzelfälle ein
🧠 Testen Sie Ihr Wissen
Testen Sie Ihr Wissen
Fordern Sie sich mit diesem interaktiven Quiz heraus und sehen Sie, wie gut Sie das Thema verstehen
📝 Anweisungen
- Lesen Sie jede Frage sorgfältig
- Wählen Sie die beste Antwort für jede Frage
- Sie können das Quiz so oft wiederholen, wie Sie möchten
- Ihr Fortschritt wird oben angezeigt