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.

HTML
<!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>
Attribut Bedeutung
rel="stylesheet" Sagt dem Browser: "Das ist eine CSS-Datei"
href="..." Pfad zur CSS-Datei (relativ oder absolut)

Dateipfade verstehen

HTML
<!-- 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">
Vorteile von externem 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:

HTML
<!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>
Wann internes CSS verwenden?
  • 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:

HTML
<!-- 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>
Nachteile von Inline CSS
  • 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:

HTML + CSS
<!-- 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):

  1. Externes CSS (link)
  2. Internes CSS (style-Tag)
  3. Inline CSS (style-Attribut)
  4. !important (vermeiden!)
Reihenfolge bei mehreren Stylesheets

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)
Best Practice

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...