| # Hintergrundfarben und -bilder
| Allgemeines zu Hintergrundfarben und -bildern background-color (Hintergrundfarbe) background-image (Hintergrundbild) background-repeat (Wiederholungs-Effekt) background-attachment (Wasserzeichen-Effekt) background-position (Hintergrundposition) background (Hintergrund allgemein)

## Allgemeines zu Hintergrundfarben und -bildern

Sinnvoll sind die hier beschriebenen CSS-Eigenschaften vor allem für HTML-Elemente, die einen eigenen Absatz erzeugen bzw. einen Block bilden, also etwa für `h[1-6]`, `p`, `blockquote`, `address` oder `pre`. Block-Elemente sind aber auch `div`, `table`, `tr`, `th` und `td`. Auch auf `<body>` lassen sich die hier aufgelisteten Stylesheet-Angaben anwenden - in diesem Fall beziehen sich die Angaben auf den gesamten sichtbaren Körper der HTML-Datei. Es ist aber ebenso möglich, einzelne Textpassagen, die durch ein Inline-Element wie `span`, `b`, `strong` usw. markiert sind, mit einem eigenen Hintergrund zu belegen.

Elementspezifische Hintergrundangaben heben sich von eventuellen HTML-Angaben zur Hintergrundfarbe der HTML-Datei oder zu einer dateiweiten Hintergrundgrafik ab. Sehr schöne Effekte können Sie erzielen, indem Sie Angaben zu Hintergrundfarben bzw. Hintergrundbildern einzelner Elemente mit Angaben zu Rahmen und Innenabstand kombinieren.

## background-color (Hintergrundfarbe)

Sie können für ein HTML-Element eine eigene Hintergrundfarbe definieren.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>background-color</title>
    <style type="text/css">
    body { background-color:#E0E0E0; font-weight:bold; font-family:Arial; font-size:120%; }
    .rosabox { background-color:#FFDDDD; padding:6px; margin:0px; }
    .rosa { background-color:#FFDDDD; }
    .gelbbox { background-color:#FFFF66; padding:6px; margin:0px; }
    .gelb { background-color:#FFFF66; }
    </style>
    </head><body>

    <h1>Hintergr&uuml;ndig!</h1>
    <p class="rosabox">Hinter dem Internet ist das <span class="gelb">Hinternet</span>.</p>
    <p>Dies hat nichts zu sagen.</p>
    <p class="gelbbox">Im Kinderzimmer herrscht das <span class="rosa">Kindernet</span>.</p>

    </body></html>

### Erläuterung:

Mit `background-color:` können Sie eine Hintergrundfarbe bestimmen. Erlaubt ist eine Farbangabe oder der Default-Wert `transparent`.

### Beachten Sie:

Netscape 4.x bildet bei mehrzeiligen Textabsätzen keinen echten Farbblock, sondern dehnt die Hintergrundfarbe am Zeilenende nur bis zum zufälligen Ende des Textes. Um dies zu verhindern, können Sie zusätzlich die Angaben `border:none;` und `margin:0px;` notieren (in den meisten Fällen kommen Sie auch ohne das `margin:0px;` aus).

Wenn Ihnen der Abstand zwischen Textgrenzen und dem Farbblock, der durch die Hintergrundfarbe entsteht, zu klein ist, können Sie wie im obigen Beispiel mit padding einen Innenabstand definieren.

## background-image (Hintergrundbild)

Sie können für einzelne HTML-Elemente ein eigenes Hintergrundbild definieren.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>background-image</title>
    </head><body style="background-image:url(background1.gif)">

    <div style="background-image:url(background2.gif); margin:0px; padding:10px">
    <h1 align="center" style="color:#FFFFCC">Willkommen im Reich der Texturen!</h1>

    <div style="background-image:url(background3.jpg); margin:30px; padding:10px">
    <h2 align="center" style="color:#804000">Willkommen im Reich der Texturen!</h2>

    </div></div>

    </body></html>

### Erläuterung:

Mit `background-image:url([URI])` können Sie eine Hintergrundgrafik bestimmen. Per Voreinstellung wird die Hintergrundgrafik als Wallpaper (Tapetenmuster) wiederholt, so wie bei der Angabe eines Hintergrundbildes im einleitenden HTML-Tag `<body>`. Text und referenzierte Grafiken erscheinen über dieser Hintergrundgrafik. Als Grafikdateitypen sollten Sie wie in HTML üblich GIF- oder JPG-Grafiken benutzen.

Im Beispiel wird vorausgesetzt, dass sich die Grafikdateien im gleichen Verzeichnis befinden wie die HTML-Datei. Wenn die Grafik in einem anderen Verzeichnis steht, müssen Sie den relativen oder absoluten Pfadnamen angeben. Das funktioniert genau so wie beim Einbinden von Grafiken in HTML.

### Beachten Sie:

Wenn das Element, für das die Hintergrundgrafik definiert wird, in der Höhe oder Breite kleiner ist als die Hintergrundgrafik, wird die Hintergrundgrafik in der Darstellung an den Grenzen des Elements abgeschnitten.

## background-repeat (Wiederholungs-Effekt)

Normalerweise wird eine Hintergrundgrafik im Wallpaper-Effekt über den gesamten zur Verfügung stehenden Raum wiederholt. Sie können jedoch ein anderes Verhalten erzwingen.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>background-repeat</title>
    </head><body>

    <div style="background-image:url(background4.jpg); background-repeat:repeat-x;
    margin:30px; border:thin solid #CCCCFF; font-size:150%">
    <p>Der erste Bereich.<br>Ein Text, der sehr leicht<br>umbricht...usw.</p>
    </div>
    <div style="background-image:url(background4.jpg); background-repeat:repeat-y;
    margin:30px; border:thin solid #CCCCFF; font-size:150%">
    <p>Der zweite Bereich.<br>Ein Text, der auch leicht umbricht....usw.</p>
    </div>
    <div style="background-image:url(background4.jpg); background-repeat:no-repeat;
    margin:30px; border:thin solid #CCCCFF; font-size:150%">
    <p>Der dritte Bereich.<br>Ein Text, der auch leicht umbricht...usw.</p>
    </div>

    </body></html>

### Erläuterung:

Mit `background-repeat:` können Sie das Wiederholungsverhalten einer Hintergrundgrafik, die Sie mit `background-image` einbinden, kontrollieren. Erlaubt ist eine der folgenden Angaben.

`repeat` = wiederholen (Voreinstellung).
`repeat-x` = nur "eine Zeile lang" waagerecht wiederholen.
`repeat-y` = nur "eine Spalte lang" senkrecht wiederholen.
`no-repeat` = nicht wiederholen, nur als Einzelbild anzeigen.

### Beachten Sie:

Netscape 4.x interpretiert diese Eigenschaft zwar, hat aber massive Schwierigkeiten bei der Darstellung von Elementinhalten.

## background-attachment (Wasserzeichen-Effekt)

Bei längeren Elementen wandert ein Hintergrundbild beim Scrollen im Text optisch mit. Sie können jedoch erzwingen, dass der Hintergrund stehen bleibt (Wasserzeichen-Effekt).

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>background-attachment</title>
    <style type="text/css">
    body {
     background-image:url(background5.gif); background-repeat:no-repeat;
     background-attachment:fixed; padding:0px; }
    div.mybody {
     margin-left:100px; margin-top:20px; margin-right:20px; margin-bottom:20px; }
    </style>
    </head><body>

    <div class="mybody">
    <h1>viel Text<br>viel Text zum Scrollen!<!--usw.--></h1>
    </div>

    </body></html>

### Erläuterung:

Mit `background-attachment:` können Sie das Scroll-Verhalten einer Hintergrundgrafik, die Sie mit `background-image` einbinden, kontrollieren. Erlaubt ist eine der folgenden Angaben.

`scroll` = mitscrollen (Voreinstellung).
`fixed` = Hintergrundbild bleibt stehen.

Das obige Beispiel demonstriert einen interessanten Anwendungsfall aus der Kombination der Eigenschaften `background-attachment` und `background-repeat` sowie Angaben zum Außenrand und Innenabstand. Eine Hintergrundrafik wird dem `body`-Element zugewiesen und wiederholungslos in der obersten linken Ecke angezeigt. Der gesamte Inhalt des Dokuments kommt in einen `div`-Bereich mit der Klasse `mybody`, der seinen linken Außenrand so definiert hat, dass der Inhalt des Dokuments beim Scrollen an der Grafik vorbeifließt, die immer angezeigt bleibt. So könnte manches Frameset vermieden werden!

### Beachten Sie:

Netscape 4.x interpretiert diese Angabe nicht.

## background-position (Hintergrundposition)

Diese Angabe ist vor allem dann interessant, wenn Sie mit einer entsprechenden Angabe zu `background-repeat` erzwingen, dass eine Hintergrundgrafik nur einmal angezeigt wird. Für diesen Fall können Sie mit der Hintergrundposition festlegen, wo genau die Hintergrundgrafik innerhalb des HTML-Elements platziert werden soll.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>background-position</title>
    <style type="text/css">
    #Tanz {
     background-image:url(background6.gif); background-repeat:no-repeat;
     background-position:30px 20px;
     background-color:white; height:400px;
    }
    </style>
    </head><body>

    <div id="Tanz">
    <h1>Tanz der Bilder!</h1>
    <img src="background_foreground.gif" width="321" height="262" border="0"
         alt="Ein transparentes Bild über dem Hintergrundbild">
    </div>

    </body></html>

### Erläuterung:

Mit `background-position:` können Sie festlegen, wo die linke obere Ecke der Hintergrundgrafik sein soll. Der erste Wert steht für die horizontale, der zweite für die vertikale Position. Bezugspunkt ist das HTML-Element, für das die Hintergrundgrafik definiert wird. Erlaubt sind numerische Angaben und folgende Angaben:

`top` = vertikal obenbündig.
`bottom` = vertikal untenbündig.
`center` = zentriert (horizontal oder vertikal, `center center` kann als `center` zusammengefasst werden).
`left` = horizontal linksbündig.
`right` = horizontal rechtsbündig.

Im obigen Beispiel enthält das `div`-Element eine GIF-Grafik mit transparentem Hintergrund. Diese wird im Beispiel über der Hintergrundgrafik angezeigt. Es sieht aus wie eine Grafik, sind aber zwei verschiedene.

### Beachten Sie:

Netscape 4.x interpretiert diese Angabe nicht.

## background (Hintergrund allgemein)

Diese Angabe ist eine Zusammenfassung der folgenden möglichen Einzelangaben:
background-color (Hintergrundfarbe)
background-image (Hintergrundbild)
background-repeat (Wiederholungs-Effekt)
background-attachment (Wasserzeichen-Effekt)
background-position (Hintergrundposition)

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>background</title>
    </head><body>

    <div style="background:url(background1.gif) repeat-x;">
    <h1 style="font-family:Arial,sans-serif; color:maroon; font-size:80px">NEWS</h1>
    <div style="margin-top:45px; font-size:1.2em">
    <p>Hier folgen die News...</p>
    </div></div>

    </body></html>

### Erläuterung:

Mit `background:` können Sie Angaben für den Hintergrund zusammenfassen. Notieren Sie Angaben zur Hintergrundfarbe, zum Hintergrundbild, zu Wiederholungs- und Wasserzeichen-Effekt sowie zur Position mit Leerzeichen dazwischen, so wie im Beispiel oben. Die Reihenfolge der Einzelangaben ist egal. Es ist nicht erforderlich, zu allen Angaben etwas zu notieren.

### Beachten Sie:

Netscape 4.x interpretiert diese Angabe zwar, aber was er aus dem obigen Beispiel macht, spottet leider jeder Beschreibung.

| Listenformatierung
| Rahmen

© 2005 Impressum