Modul 03 · JIA Webentwicklung

CSS-Selektoren & Eigenschaften

HTML baut die Struktur — CSS macht sie schön. Hier lernst du, wie du Elemente gezielt ansprichst und ihnen Farbe, Form und Stil gibst.

Was ist CSS?

CSS steht für Cascading Style Sheets — eine Stilsprache, die beschreibt, wie HTML-Elemente aussehen sollen. „Cascading" bedeutet, dass Regeln sich überlagern und die spezifischste gewinnt.

Die Anatomie einer CSS-Regel

CSS h1 { color: #E63946; font-size: 2rem; font-weight: bold; } /* Selektor → { Eigenschaft: Wert; } */
Ergebnis

Überschrift

Der Selektor wählt das Element. Die Deklaration sagt, wie es aussehen soll.

3 Wege, CSS einzubinden

📄 Extern (empfohlen)

Eigene .css-Datei, verlinkt im <head>.

↓ Details
<head> <link rel="stylesheet" href="style.css"> </head>

Vorteil: Saubere Trennung von Inhalt (HTML) und Design (CSS). Mehrere Seiten können dieselbe CSS-Datei teilen.

🏷️ Intern (im <style>-Tag)

CSS direkt im HTML-Dokument im <style>-Tag.

↓ Details
<head> <style> h1 { color: red; } </style> </head>

Vorteil: Alles in einer Datei. Nachteil: Nicht wiederverwendbar für andere Seiten.

✏️ Inline (im Element)

Direkt am Element per style-Attribut.

↓ Details
<h1 style="color: red;"> Titel </h1>

Nachteil: Höchste Spezifität, schwer wartbar, vermischt Inhalt und Design. Sollte vermieden werden!

Die wichtigsten Selektoren

Selektoren bestimmen, welche HTML-Elemente gestylt werden. Vom einfachen Element bis zur komplexen Kombination.

Element-Selektor

Wählt alle Elemente eines Typs: p, h1, a

↓ Details
p { color: #333; line-height: 1.6; }

Betrifft alle <p>-Elemente auf der Seite. Einfach, aber ungenau.

.Klassen-Selektor

Wählt Elemente mit einer bestimmten Klasse: .highlight

↓ Details
.highlight { background: yellow; } /* Im HTML: */ <p class="highlight">...</p>

Klassen sind wiederverwendbar — mehrere Elemente können dieselbe Klasse haben. Ein Element kann auch mehrere Klassen haben: class="highlight big".

#ID-Selektor

Wählt genau ein Element: #header

↓ Details
#header { background: navy; } /* Im HTML: */ <div id="header">...</div>

IDs sind einzigartig — jede ID darf pro Seite nur einmal vorkommen. Höhere Spezifität als Klassen.

Kombinations-Selektoren

Nachfahren, direkte Kinder, Mehrfach-Selektoren.

↓ Details
/* Nachfahre (irgendwo drin) */ nav a { color: white; } /* Direktes Kind */ ul > li { margin: 0.5rem; } /* Mehrere auf einmal */ h1, h2, h3 { font-weight: bold; }

Leerzeichen = Nachfahre, > = direktes Kind, Komma = mehrere Selektoren gleichzeitig.

Pseudo-Klassen

Stil für bestimmte Zustände: :hover, :first-child

↓ Details
a:hover { color: red; text-decoration: underline; } li:first-child { font-weight: bold; }

:hover = Maus darüber, :focus = Element fokussiert, :nth-child() = bestimmtes Kind-Element.

Spezifität — Wer gewinnt?

Wenn mehrere Regeln dasselbe Element betreffen, gewinnt die spezifischere. Die Spezifität berechnet sich aus der Art der Selektoren.

p
0
0
1
0 – 0 – 1
.intro
0
1
0
0 – 1 – 0
p.intro
0
1
1
0 – 1 – 1
#main .intro
1
1
0
1 – 1 – 0
#main p.intro
1
1
1
1 – 1 – 1
IDs
Klassen
Elemente

CSS-Eigenschaften live ausprobieren

Ändere die Werte und beobachte in Echtzeit, was passiert. So bekommst du ein Gefühl für die wichtigsten CSS-Eigenschaften.

🎨 CSS-Playground

24px 16px 8px
Hallo Welt!

Die wichtigsten Eigenschafts-Kategorien

Text & Schrift

  • color — Textfarbe
  • font-size — Schriftgröße
  • font-family — Schriftart
  • font-weight — Schriftdicke
  • text-align — Ausrichtung
  • line-height — Zeilenabstand

Box & Layout

  • background — Hintergrund
  • padding — Innenabstand
  • margin — Außenabstand
  • border — Rahmen
  • border-radius — Eckenrundung
  • width / height — Größe

CSS-Einheiten im Überblick

px
·
rem
·
em
·
%
·
vw / vh

px — Pixel

Feste Größe, unabhängig vom Kontext.

↓ Details

font-size: 16px; — immer gleich groß, egal wo. Einfach, aber nicht flexibel bei verschiedenen Bildschirmgrößen.

rem — Root-Em

Relativ zur Schriftgröße des <html>-Elements.

↓ Details

1rem = Schriftgröße von <html> (meist 16px). 1.5rem = 24px. Skaliert gut für responsive Designs!

% und vw/vh

Relativ zum Elternelement oder Viewport.

↓ Details

width: 50% = halbe Breite des Elternelements. 100vw = volle Viewport-Breite, 100vh = volle Viewport-Höhe. Perfekt für Vollbild-Layouts.

Jetzt bist du dran

Aufgabe 1: Ordne die Selektoren ihrer Beschreibung zu

Klicke links auf einen Selektor, dann rechts auf die passende Beschreibung.

p
.active
#logo
nav a
a:hover
Alle Links innerhalb einer Navigation
Alle Absätze auf der Seite
Links, wenn die Maus darüber ist
Genau ein Element mit einer bestimmten ID
Alle Elemente mit der Klasse „active"
0 / 5 zugeordnet

Aufgabe 2: Sortiere nach Spezifität (niedrigste zuerst)

Ordne die Selektoren von der niedrigsten zur höchsten Spezifität.

#nav .link ID + Klasse
p Element
#nav #logo ID + ID
.card Klasse
div.card.active Element + 2 Klassen

Quiz: CSS-Selektoren

7 Fragen rund um Selektoren, Spezifität und CSS-Grundlagen.

Frage 1 von 7
Wofür steht CSS?
CSS = Cascading Style Sheets. „Cascading" bedeutet, dass sich Regeln überlagern.
Frage 2 von 7
Wie wird eine CSS-Klasse im Selektor geschrieben?
Klassen beginnen mit einem Punkt (.highlight), IDs mit einer Raute (#logo).
Frage 3 von 7
Welcher Selektor hat die höchste Spezifität?
#main .card hat Spezifität 1-1-0 (eine ID + eine Klasse) — das schlägt alles andere hier.
Frage 4 von 7
Was bedeutet „nav a" als CSS-Selektor?
Ein Leerzeichen = Nachfahren-Selektor. Alle <a> irgendwo im <nav>. Für direkte Kinder bräuchte man „nav > a".
Frage 5 von 7
Was bewirkt die CSS-Eigenschaft „padding"?
Padding = Innenabstand (Inhalt ↔ Rand). Margin = Außenabstand (Element ↔ Nachbarn).
Frage 6 von 7
Was bedeutet 1rem?
1rem = Schriftgröße von <html> (standardmäßig 16px). „rem" steht für „root em".
Frage 7 von 7
Welche Methode zur CSS-Einbindung ist für größere Projekte empfehlenswert?
Externe CSS-Dateien sind am besten wartbar, wiederverwendbar und halten Inhalt und Design getrennt.

Begriffe zum Aufdecken

Selektor Klicken Der Teil einer CSS-Regel, der bestimmt, welche HTML-Elemente gestylt werden. Z.B. p, .class, #id
Deklaration Klicken Ein Eigenschaft-Wert-Paar in einer CSS-Regel, z.B. color: red;
Spezifität Klicken Das Gewicht eines Selektors. IDs > Klassen > Elemente. Bestimmt, welche Regel gewinnt, wenn mehrere auf dasselbe Element zutreffen.
Cascading Klicken Das Prinzip, dass CSS-Regeln sich überlagern. Bei gleicher Spezifität gewinnt die zuletzt definierte Regel.
Pseudo-Klasse Klicken Selektor für einen bestimmten Zustand, z.B. :hover (Maus drüber), :focus (fokussiert).
rem Klicken CSS-Einheit relativ zur Schriftgröße des Root-Elements (<html>). 1rem = Standard-Schriftgröße (meist 16px).
Viewport Klicken Der sichtbare Bereich des Browsers. vw = 1% der Breite, vh = 1% der Höhe des Viewports.
Inline vs. Block Klicken Block-Elemente nehmen die volle Breite ein (<div>, <p>). Inline-Elemente nur so viel wie nötig (<span>, <a>).
„Diese Lerneinheit, die ihr gerade benutzt, ist selbst mit HTML und CSS gebaut. Welche CSS-Eigenschaften könnt ihr auf dieser Seite erkennen? Findet mindestens 5 verschiedene."

Öffnet die Browser-DevTools (F12) und untersucht die Seite. Sammelt eure Funde, 5 Minuten.