Skip to content

Kapitel 7: Hintergrundstile

Hintergründe können einer Webseite Leben einhauchen! In diesem Kapitel lernen Sie, wie Sie Farben, Bilder und Verläufe als Hintergrund verwenden.

7.1 Hintergrundfarbe (background-color)

Die einfachste Art, einen Hintergrund zu gestalten: Mit einer reinen Farbe.

📝 Syntax

css
selektor {
    background-color: farbwert;
}

🎨 Beispiele

css
/* Verschiedene Möglichkeiten, Farben anzugeben */

/* Farbname */
body {
    background-color: lightblue;
}

/* Hexadezimal (am häufigsten verwendet) */
header {
    background-color: #3366cc;
}

/* RGB */
main {
    background-color: rgb(240, 240, 240);
}

/* RGBA (mit Transparenz) */
.overlay {
    background-color: rgba(0, 0, 0, 0.5); /* Halb-transparentes Schwarz */
}

/* HSL */
footer {
    background-color: hsl(120, 100%, 50%); /* Grün */
}

/* Transparenter Hintergrund */
.transparent {
    background-color: transparent;
}

💡 Tipps für Hintergrundfarben

  1. Hell/dunkel-Kontrast: Stellen Sie sicher, dass der Text gut lesbar ist!

    css
    /* Gut: Dunkler Text auf hellem Hintergrund */
    .readable {
        background-color: #ffffff;
        color: #333333;
    }
    
    /* Schlecht: Schwer zu lesen */
    .hard-to-read {
        background-color: #cccccc;
        color: #aaaaaa;
    }
  2. Verlauf von Farben: Verwenden Sie Verläufe für moderne Designs (siehe Kapitel 19).

7.2 Hintergrundbild (background-image)

Fügen Sie Bilder als Hintergrund hinzu!

📝 Syntax

css
selektor {
    background-image: url('pfad/zum/bild.jpg');
}

🎯 Beispiel

css
/* Einfaches Hintergrundbild */
.hero-section {
    background-image: url('images/hero-bg.jpg');
    height: 500px; /* Wichtig: Höhe angeben! */
}

/* Hintergrundbild mit Fallback-Farbe */
.hero-section {
    background-color: #3366cc; /* Fallback, falls Bild nicht lädt */
    background-image: url('images/hero-bg.jpg');
    height: 500px;
}

/* Mehrere Hintergrundbilder (übereinander) */
.multi-bg {
    background-image: url('images/pattern.png'), url('images/gradient.jpg');
    background-color: #f0f0f0;
}

💡 Tipps für Hintergrundbilder

  1. Immer eine Hintergrundfarbe als Fallback angeben!
  2. Bildgröße beachten: Große Bilder laden langsam
  3. Pfad korrekt angeben: Relativer Pfad von der CSS-Datei aus!

7.3 Hintergrundwiederholung (background-repeat)

Steuert, ob und wie ein Hintergrundbild wiederholt wird.

📝 Syntax

css
selektor {
    background-repeat: wert;
}

🔄 Mögliche Werte

WertBeschreibung
repeat (Standard)Bild wird horizontal und vertikal wiederholt
repeat-xNur horizontal wiederholen
repeat-yNur vertikal wiederholen
no-repeatNicht wiederholen (am häufigsten verwendet!)
spaceBild wiederholen, mit Abständen auffüllen
roundBild wiederholen, dabei skalieren

🎯 Beispiele

css
/* Hintergrundbild nicht wiederholen (häufigster Fall) */
.hero-section {
    background-image: url('images/hero-bg.jpg');
    background-repeat: no-repeat;
    height: 500px;
}

/* Muster wiederholen (wiederholen ist gut für Muster!) */
.pattern-bg {
    background-image: url('images/pattern.png');
    background-repeat: repeat; /* oder einfach weglassen, da Standard */
}

/* Nur horizontal wiederholen (z.B. für Streifen) */
.stripe-bg {
    background-image: url('images/stripe.png');
    background-repeat: repeat-x;
}

7.4 Hintergrundposition (background-position)

Legt fest, wo das Hintergrundbild positioniert wird.

📝 Syntax

css
selektor {
    background-position: horizontal vertikal;
}

📍 Mögliche Werte

  1. Schlüsselwörter: left, right, center, top, bottom
  2. Prozentangaben: 0% 0%, 50% 50%, 100% 100%
  3. Feste Längen: 20px 30px

🎯 Beispiele

css
/* Bild zentrieren (häufigster Fall) */
.centered-bg {
    background-image: url('images/logo.png');
    background-repeat: no-repeat;
    background-position: center center;
}

/* Bild oben rechts positionieren */
.top-right-bg {
    background-image: url('images/icon.png');
    background-repeat: no-repeat;
    background-position: right top;
}

/* Bild mit festen Werten positionieren */
.custom-position {
    background-image: url('images/badge.png');
    background-repeat: no-repeat;
    background-position: 20px 30px; /* 20px vom linken Rand, 30px vom oberen Rand */
}

7.5 Hintergrundgröße (background-size)

Steuert, wie groß das Hintergrundbild angezeigt wird.

📝 Syntax

css
selektor {
    background-size: wert;
}

📏 Mögliche Werte

WertBeschreibung
auto (Standard)Bild wird in Originalgröße angezeigt
coverBild wird so skaliert, dass es den gesamten Bereich abdeckt (kann abgeschnitten werden)
containBild wird so skaliert, dass es vollständig sichtbar ist (kann Leeräume lassen)
Breite HöheFeste Werte (z.B. 100% 100%, 200px auto)

🎯 Beispiele

css
/* Vollbild-Hintergrund (häufig für Hero-Sections) */
.hero-section {
    background-image: url('images/hero-bg.jpg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; /* Bild deckt den gesamten Bereich ab */
    height: 100vh; /* Volle Bildschirmhöhe */
}

/* Hintergrundbild vollständig anzeigen (ohne Beschnitt) */
.logo-container {
    background-image: url('images/logo.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain; /* Bild wird vollständig angezeigt */
    width: 200px;
    height: 100px;
}

/* Hintergrundbild auf feste Größe skalieren */
.stretched-bg {
    background-image: url('images/pattern.png');
    background-repeat: no-repeat;
    background-size: 100% 100%; /* Bild wird auf den gesamten Bereich gestreckt */
}

7.6 Hintergrund-Kurzschreibweise (background)

Alle Hintergrund-Eigenschaften können in einer einzigen Zeile zusammengefasst werden!

📝 Syntax

css
selektor {
    background: [background-color] [background-image] [background-repeat] [background-position] / [background-size];
}

🎯 Beispiele

css
/* Ausführlich (viele Zeilen) */
.hero-section {
    background-color: #3366cc;
    background-image: url('images/hero-bg.jpg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

/* Kurzschreibweise (eine Zeile!) */
.hero-section {
    background: #3366cc url('images/hero-bg.jpg') no-repeat center center / cover;
}

/* Einfaches Beispiel (nur Farbe) */
.simple-bg {
    background: lightblue;
}

/* Einfaches Beispiel (nur Bild, nicht wiederholen, zentrieren) */
.image-bg {
    background: url('images/logo.png') no-repeat center center;
}

💡 Reihenfolge in der Kurzschreibweise

Die Reihenfolge ist nicht strikt vorgeschrieben, aber diese Reihenfolge ist am üblichsten:

background: Farbe Bild Wiederholung Position / Größe;

7.7 Praxis: Vollbild-Hintergrund und Karten mit Hintergrundfarbe

Lassen Sie uns zwei praktische Beispiele erstellen!

🎯 Beispiel 1: Vollbild-Hintergrund (Hero-Section)

HTML (index.html):

html
<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vollbild-Hintergrund</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <header class="hero-section">
        <h1>Willkommen auf meiner Webseite</h1>
        <p>Lernen Sie CSS und gestalten Sie wunderschöne Webseiten!</p>
        <a href="#" class="cta-button">Jetzt starten</a>
    </header>
    
    <main>
        <p>Dies ist der Hauptinhalt der Seite.</p>
    </main>
</body>
</html>

CSS (style.css):

css
/* ===== Reset ===== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* ===== Hero-Section ===== */
.hero-section {
    /* Hintergrund-Kurzschreibweise */
    background: 
        /* Farbverlauf (optional, für bessere Lesbarkeit) */
        linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
        /* Hintergrundbild */
        url('https://picsum.photos/1920/1080') no-repeat center center / cover;
    
    /* Volle Bildschirmhöhe */
    height: 100vh;
    
    /* Text zentrieren */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    
    /* Textfarbe */
    color: white;
    text-align: center;
    
    /* Abstand */
    padding: 20px;
}

.hero-section h1 {
    font-size: 3rem;
    margin-bottom: 20px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.hero-section p {
    font-size: 1.25rem;
    margin-bottom: 30px;
    max-width: 600px;
}

.cta-button {
    display: inline-block;
    background-color: #4CAF50;
    color: white;
    padding: 15px 30px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.cta-button:hover {
    background-color: #45a049;
}

/* ===== Hauptinhalt ===== */
main {
    padding: 40px 20px;
    max-width: 1200px;
    margin: 0 auto;
}

🎯 Beispiel 2: Karten mit Hintergrundfarbe

HTML (index.html):

html
<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Karten mit Hintergrundfarbe</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="card-container">
        <div class="card">
            <h2>Karte 1</h2>
            <p>Dies ist eine einfache Karte mit Hintergrundfarbe.</p>
        </div>
        
        <div class="card highlight-card">
            <h2>Karte 2 (Hervorgehoben)</h2>
            <p>Diese Karte hat eine andere Hintergrundfarbe.</p>
        </div>
        
        <div class="card">
            <h2>Karte 3</h2>
            <p>Noch eine Karte mit Hintergrundfarbe.</p>
        </div>
    </div>
</body>
</html>

CSS (style.css):

css
/* ===== Reset ===== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, sans-serif;
    padding: 40px 20px;
    background-color: #f0f0f0;
}

/* ===== Karten-Container ===== */
.card-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

/* ===== Einzelne Karte ===== */
.card {
    /* Hintergrundfarbe */
    background-color: #ffffff;
    
    /* Innenabstand */
    padding: 30px;
    
    /* Abrundung */
    border-radius: 12px;
    
    /* Schatten */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    
    /* Flex-Item-Eigenschaften */
    flex: 1 1 300px;
    
    /* Übergang für Hover-Effekt */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Hover-Effekt für Karten */
.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 12px rgba(0, 0, 0, 0.15);
}

/* Titel der Karte */
.card h2 {
    color: #333333;
    margin-bottom: 15px;
    font-size: 1.5rem;
}

/* Text der Karte */
.card p {
    color: #666666;
    line-height: 1.6;
}

/* Hervorgehobene Karte (andere Hintergrundfarbe) */
.highlight-card {
    background-color: #e6f7ff; /* Hellblau */
    border-left: 5px solid #1890ff;
}

.highlight-card h2 {
    color: #1890ff;
}

📝 Zusammenfassung

In diesem Kapitel haben Sie gelernt:

  • ✅ Hintergrundfarbe festlegen (background-color)
  • ✅ Hintergrundbild einfügen (background-image)
  • ✅ Hintergrundwiederholung steuern (background-repeat)
  • ✅ Hintergrundposition festlegen (background-position)
  • ✅ Hintergrundgröße steuern (background-size)
  • ✅ Hintergrund-Kurzschreibweise verwenden (background)
  • ✅ Praktische Beispiele: Vollbild-Hintergrund und Karten

🎯 Nächste Schritte

Im nächsten Kapitel werden wir:

  1. Rahmen (Border) erlernen
  2. Rahmen-Stile anwenden
  3. Abrundungen und Schatten erstellen

Bereit für mehr? Los geht's! 🎨

Frei für alle Anfänger