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.
Mehr aus CSS
Tutorials werden geladen...