1. Home
  2. Docs
  3. HTML
  4. HTML Bilder
  5. HTML Hintergrundbilder

HTML Hintergrundbilder

HTML Hintergrundbilder (engl.: HTML Background Images) sind ein gängiges Design-Element, das Webseiten visuell ansprechender macht. Mit CSS können Sie in HTML Hintergrundbilder festlegen, um eine Webseite optisch aufzuwerten. In diesem Artikel lernen Sie, wie Sie ein Hintergrundbild einfügen, anpassen und optimieren, um ein reaktionsschnelles und optisch ansprechendes Design zu erstellen.

1. Grundlegende Syntax für Hintergrundbilder

In HTML selbst gibt es keine direkte Möglichkeit, ein Hintergrundbild zu setzen. Stattdessen wird CSS verwendet, um Hintergrundbilder für HTML-Elemente (wie <body>, <div>, etc.) festzulegen. Der relevante CSS-Eigenschaft ist background-image.

1.1. Hintergrundbild mit background-image

Die background-image-Eigenschaft in CSS wird verwendet, um ein Bild als Hintergrund eines Elements zu definieren.

element {
    background-image: url("pfad-zum-bild.jpg");
}

Beispiel:

<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hintergrundbild Beispiel</title>
    <style>
        body {
            background-image: url("hintergrund.jpg");
        }
    </style>
</head>
<body>
    <h1>Willkommen auf meiner Webseite</h1>
    <p>Dies ist ein Beispiel für ein Hintergrundbild auf einer Webseite.</p>
</body>
</html>

In diesem Beispiel wird das Bild hintergrund.jpg als Hintergrund des gesamten <body>-Elements festgelegt.

2. Hintergrundbilder anpassen

Nachdem Sie ein Hintergrundbild hinzugefügt haben, können Sie es weiter anpassen. Es gibt mehrere CSS-Eigenschaften, die Ihnen helfen, das Verhalten des Hintergrundbildes zu steuern.

2.1. background-repeat

Standardmäßig wird ein Hintergrundbild wiederholt (also gekachelt), wenn es kleiner als das Element ist. Mit background-repeat können Sie dieses Verhalten steuern.

  • repeat: Das Bild wird sowohl horizontal als auch vertikal wiederholt.
  • no-repeat: Das Bild wird nicht wiederholt.
  • repeat-x: Das Bild wird nur horizontal wiederholt.
  • repeat-y: Das Bild wird nur vertikal wiederholt.
body {
    background-image: url("hintergrund.jpg");
    background-repeat: no-repeat;
}

2.2. background-size

Mit background-size können Sie die Größe des Hintergrundbildes steuern. Dies ist besonders nützlich, um das Bild in einem responsiven Design korrekt anzupassen.

  • cover: Das Bild wird so skaliert, dass es das gesamte Element abdeckt, wobei das Seitenverhältnis beibehalten wird.
  • contain: Das Bild wird so skaliert, dass es vollständig in das Element passt, wobei das Seitenverhältnis beibehalten wird.
body {
    background-image: url("hintergrund.jpg");
    background-size: cover;
}

2.3. background-position

Mit background-position können Sie die Position des Hintergrundbildes innerhalb des Elements steuern. Die Standardposition ist der obere linke Rand des Elements.

  • center: Das Bild wird in der Mitte des Elements ausgerichtet.
  • top, right, bottom, left: Sie können das Bild an einer der Seiten des Elements ausrichten.
  • Sie können auch genaue Pixelangaben oder Prozente verwenden (z.B. 50% 50% für die Mitte).
body {
    background-image: url("hintergrund.jpg");
    background-size: cover;
    background-position: center;
}

2.4. background-attachment

Die background-attachment-Eigenschaft steuert, ob das Hintergrundbild mit der Seite scrollt oder fixiert bleibt.

  • scroll: Das Bild bewegt sich mit dem Inhalt, wenn der Benutzer scrollt (Standard).
  • fixed: Das Bild bleibt fixiert und bewegt sich nicht beim Scrollen.
  • local: Das Bild bewegt sich mit dem Inhalt des Scroll-Containers.
body {
    background-image: url("hintergrund.jpg");
    background-attachment: fixed;
}

3. Transparenz und mehrere Hintergrundbilder

3.1. Hintergrundfarbe und Transparenz

Sie können ein Hintergrundbild mit einer Hintergrundfarbe kombinieren, um Transparenz oder eine farbliche Ergänzung zu schaffen. Wenn das Bild transparente Bereiche hat, wird die darunter liegende Hintergrundfarbe sichtbar.

body {
    background-image: url("hintergrund.png");
    background-color: rgba(255, 255, 255, 0.5); /* Halbtransparente weiße Hintergrundfarbe */
}

3.2. Mehrere Hintergrundbilder

Sie können mehrere Hintergrundbilder übereinander legen. Diese werden durch Kommas getrennt.

body {
    background-image: url("muster.png"), url("hintergrund.jpg");
    background-position: center, left top;
    background-repeat: no-repeat, repeat;
}

Im obigen Beispiel wird das muster.png in der Mitte platziert, während hintergrund.jpg im Hintergrund wiederholt wird.

4. Best Practices für Hintergrundbilder

  • Optimierung der Bildgröße: Verwenden Sie optimierte Bildformate (z.B. WebP) und achten Sie darauf, dass die Bilddatei nicht zu groß ist, um die Ladezeiten der Webseite zu minimieren.
  • Responsive Hintergrundbilder: Verwenden Sie background-size: cover, um sicherzustellen, dass Ihr Hintergrundbild auf allen Bildschirmgrößen gut aussieht.
  • Barrierefreiheit: Achten Sie darauf, dass Text über einem Hintergrundbild immer gut lesbar bleibt. Verwenden Sie bei Bedarf halbtransparente Overlays oder Hintergrundfarben.

Häufig gestellte Fragen

Warum wird mein Hintergrundbild nicht angezeigt?

Dies kann verschiedene Gründe haben:
1. Der Pfad zum Bild ist falsch. Überprüfen Sie, ob der relative oder absolute Pfad korrekt ist.
2. Das Bildformat wird möglicherweise nicht unterstützt. Achten Sie darauf, dass Sie ein Standardformat wie JPG, PNG oder WebP verwenden.
3. Stellen Sie sicher, dass die CSS-Regeln auf das richtige HTML-Element angewendet werden.

Wie kann ich ein responsives Hintergrundbild erstellen?

Verwenden Sie die CSS-Eigenschaft background-size: cover, um sicherzustellen, dass das Hintergrundbild die gesamte Fläche des Elements abdeckt und sich an verschiedene Bildschirmgrößen anpasst.

Kann ich Text über ein Hintergrundbild legen?

Ja, Sie können Text oder andere HTML-Elemente direkt in ein Element mit einem Hintergrundbild einfügen. Stellen Sie sicher, dass der Text gut lesbar ist, indem Sie Kontrast mit dem Hintergrundbild herstellen, z. B. durch die Verwendung einer halbtransparenten Hintergrundfarbe.

Kann ich ein Hintergrundbild für ein einzelnes HTML-Element festlegen?

Ja, Sie können ein Hintergrundbild für jedes HTML-Element festlegen, indem Sie das CSS auf dieses spezifische Element anwenden.

Was ist der Unterschied zwischen background-image und einem <img>-Tag?

Ein Hintergrundbild (definiert mit background-image) ist rein dekorativ und wird nicht als Teil des Inhalts betrachtet. Es kann sich über den gesamten Hintergrund eines Elements erstrecken und wird oft für gestalterische Zwecke verwendet. Ein <img>-Tag hingegen fügt ein Bild als Inhalt der Seite ein, das in den Textfluss integriert ist und auch für barrierefreie Zwecke (z.B. alt-Text) genutzt wird.