CSS einbinden
Die drei Methoden, CSS in HTML einzubinden - und wann du welche verwendest.
Drei Wege, CSS einzubinden
Es gibt drei Methoden, CSS in HTML einzubinden - jede hat ihre Berechtigung:
| Methode | Beschreibung | Empfohlen für |
|---|---|---|
| Externes CSS |
Separate
.css
-Datei
|
Produktive Websites ✓ |
| Internes CSS |
<style>
-Tag im Head
|
Einzelseiten, Prototypen |
| Inline CSS |
style
-Attribut am Element
|
Ausnahmen, dynamische Styles |
Externes CSS (empfohlen)
Die beste Methode für echte Projekte: Eine separate
.css
-Datei, die im HTML-Head verlinkt wird.
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Meine Website</title>
<!-- CSS einbinden -->
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>Hallo Welt!</h1>
</body>
</html>
Das link-Element erklärt
| Attribut | Bedeutung |
|---|---|
rel="stylesheet" |
Sagt dem Browser: "Das ist eine CSS-Datei" |
href="..." |
Pfad zur CSS-Datei (relativ oder absolut) |
Dateipfade verstehen
<!-- CSS im gleichen Ordner -->
<link rel="stylesheet" href="style.css">
<!-- CSS im Unterordner "css" -->
<link rel="stylesheet" href="css/style.css">
<!-- Absoluter Pfad (von der Root) -->
<link rel="stylesheet" href="/assets/css/style.css">
<!-- Mehrere CSS-Dateien -->
<link rel="stylesheet" href="/assets/css/style.css">
<link rel="stylesheet" href="/assets/css/variables.css">
<link rel="stylesheet" href="/assets/css/layout.css">
<link rel="stylesheet" href="/assets/css/components.css">
<link rel="stylesheet" href="/assets/css/utilities.css">
- Wiederverwendbar: Eine Datei für alle HTML-Seiten
- Caching: Browser speichert die Datei → schnellere Ladezeiten
- Übersichtlich: HTML und CSS getrennt
- Wartbar: Änderungen wirken sich auf alle Seiten aus
Internes CSS (style-Tag)
CSS direkt im HTML-Dokument, innerhalb eines
<style>
-Tags im Head:
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Meine Website</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f5f5f5;
}
h1 {
color: #333;
}
</style>
</head>
<body>
<h1>Hallo Welt!</h1>
</body>
</html>
- Schnelle Tests und Prototypen
- Einzelseiten ohne weitere HTML-Dateien
- Critical CSS für Above-the-Fold-Inhalte
- Nicht empfohlen für produktive Websites mit mehreren Seiten
Inline CSS (style-Attribut)
CSS direkt am HTML-Element über das
style
-Attribut:
<!-- Inline-Styles -->
<h1 style="color: blue; font-size: 2rem;">Blaue Überschrift</h1>
<p style="margin-top: 20px; padding: 10px; background: #f0f0f0;">
Absatz mit Hintergrund
</p>
<!-- Mehrere Eigenschaften, semikolon-getrennt -->
<div style="display: flex; gap: 1rem; justify-content: center;">
...
</div>
- Nicht wiederverwendbar: Gilt nur für dieses eine Element
- Unübersichtlich: HTML wird aufgebläht
- Höchste Spezifität: Schwer zu überschreiben
- Wartungshölle: Änderungen müssen überall gemacht werden
Wann Inline CSS sinnvoll ist:
- Dynamische Werte per JavaScript setzen
- E-Mail-Templates (externe CSS wird oft blockiert)
- Einmalige Ausnahmen, die nirgends anders vorkommen
Reihenfolge und Spezifität
Wenn mehrere CSS-Regeln auf das gleiche Element wirken, gewinnt die spezifischere oder später definierte:
<!-- externes CSS (style.css) -->
h1 { color: red; }
<!-- internes CSS im Head -->
<style>
h1 { color: blue; } /* Überschreibt externes CSS */
</style>
<!-- Inline CSS am Element -->
<h1 style="color: green;">Ich bin grün!</h1>
<!-- Inline gewinnt immer (außer !important) -->
Spezifitäts-Hierarchie (von schwach zu stark):
- Externes CSS (link)
- Internes CSS (style-Tag)
- Inline CSS (style-Attribut)
-
!important(vermeiden!)
Bei mehreren
<link>
-Tags gilt: Die später eingebundene Datei überschreibt frühere Regeln (bei gleicher
Spezifität). Deshalb kommt
style.css
oder
main.css
immer zuerst.
<!-- Reihenfolge ist wichtig! -->
<link rel="stylesheet" href="css/style.css"> <!-- Basis-Styles -->
<link rel="stylesheet" href="css/components.css"> <!-- Komponenten -->
<link rel="stylesheet" href="css/utilities.css"> <!-- Utilities (überschreiben) -->
Für kleinere Projekte reicht oft eine einzige
style.css
mit klarer Struktur.
Zusammenfassung: Welche Methode wann?
| Methode | Verwenden für | Vermeiden bei |
|---|---|---|
| Externes CSS | Produktive Websites, mehrere Seiten, Team-Projekte | — |
| Internes CSS | Schnelle Tests, Einzelseiten, Critical CSS | Websites mit mehreren Seiten |
| Inline CSS | JavaScript-generierte Styles, E-Mail-Templates | Reguläres Styling (fast immer) |
Nutze externes CSS als Standard.
Starte mit einer einzigen
style.css
- erst wenn diese unübersichtlich wird, teile sie in mehrere Dateien auf. Wie du deine
CSS-Datei sinnvoll strukturierst, lernst du im nächsten Tutorial.
Teste es selbst
Wende das Gelernte direkt an - probiere den Code aus dem Tutorial aus oder experimentiere mit eigenen Ideen.
Editor öffnen
Mehr aus CSS
Tutorials werden geladen...