![]() |
Hintergrundfarben und -bilder |
|
|
|
| | |
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.
Sie können für ein HTML-Element eine eigene Hintergrundfarbe definieren.
Anzeigebeispiel: So sieht's aus
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<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ü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>
Mit background-color: können Sie eine Hintergrundfarbe bestimmen. Erlaubt ist eine
Farbangabe oder der Default-Wert transparent.
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.
Sie können für einzelne HTML-Elemente ein eigenes Hintergrundbild definieren.
Anzeigebeispiel: So sieht's aus
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <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 style="text-align:center;color:#FFFFCC">Willkommen im Reich der Texturen!</h1> <div style="background-image:url(background3.jpg); margin:30px; padding:10px"> <h2 style="text-align:center;color:#804000">Willkommen im Reich der Texturen!</h2> </div></div> </body></html>
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. Wenn Sie background-image in einer
separaten CSS-Datei notieren, beziehen sich relative Pfadangaben auf das Verzeichnis, in dem diese Stylesheet-Datei liegt.
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.
Normalerweise wird eine Hintergrundgrafik im Wallpaper-Effekt über den gesamten zur Verfügung stehenden Raum wiederholt. Sie können jedoch ein anderes Verhalten erzwingen.
Anzeigebeispiel: So sieht's aus
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <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>
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.
Netscape 4.x interpretiert diese Eigenschaft zwar, hat aber massive Schwierigkeiten bei der Darstellung von Elementinhalten.
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).
Anzeigebeispiel: So sieht's aus
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>background-attachment</title>
<style type="text/css">
div.bgscroll {
margin:20px 20px 20px 250px; width:35em; border:1px solid red;
background-image:url(background1.gif); background-repeat:no-repeat; background-position:center center;
background-attachment:scroll;
}
div.bgfixed {
margin:20px 20px 20px 250px; border:1px solid red;
background-image:url(background5.gif); background-repeat:no-repeat; background-position:center center;
background-attachment:fixed;
}
</style>
</head><body>
<div class="bgscroll">
<h1>viel Text <!--usw.--> <code>background-attachment:scroll</code></h1>
</div>
<div class="bgfixed">
<h1>viel Text <!--usw.--> <code>background-attachment:fixed</code></h1>
</div>
</body></html>
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), orientiert sich an der Position des jeweiligen Elements
fixed = Hintergrundbild bleibt stehen, orientiert sich am Viewport
Das obige Beispiel demonstriert einen interessanten Anwendungsfall aus der Kombination der Eigenschaften background-attachment und background-position. Beiden div-Elementen werden mittels background-position:center center mittig positionierte Hintergrundgrafiken zugewiesen. Im ersten Fall wird das Bild aufgrund von background-attachment:scroll in der Mitte des Elements selbst dargestellt. Im zweiten Fall jedoch orientiert sich dessen Position aufgrund der Verwendung von background-attachment:fixed am Viewport und wird damit in der Mitte des Browserfensters dargestellt.
Der Internet Explorer bis Version 6 interpretiert diese Eigenschaft nur bezogen auf scrollbare Elemente (dem body-Element oder anderen mit der CSS-Eigenschaft overflow:scroll bzw. overflow:auto).
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.
Anzeigebeispiel: So sieht's aus
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<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"
alt="Ein transparentes Bild über dem Hintergrundbild">
</div>
</body></html>
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. Etwaige
Innenabstände werden berücksichtigt. 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 einzelne Grafik, sind aber zwei verschiedene.
Prozentangaben beziehen sich anders als beispielsweise Pixelwerte nicht auf die linke obere Ecke des Hintergrundbildes. Bei einer Angabe von 40% 60% wird die Stelle der Grafik, die 40 % von deren linkem und 60 % von deren oberem Rand entfernt ist als Bezugspunkt herangezogen. Deklariert man demnach 50% 50%, wird der Punkt, der sich genau in der Mitte der Grafik befindet (also 50 % vom linken und oberen Rand entfernt ist) mittig platziert.
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)
Anzeigebeispiel: So sieht's aus
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <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>
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.
Netscape 4.x interpretiert diese Angabe zwar, aber was er aus dem obigen Beispiel macht, spottet leider jeder Beschreibung.
|
| |
© 2007
Impressum