SELFHTML/Navigationshilfen Stylesheets (CSS) CSS-Eigenschaften | |
Hintergrundfarben und -bilder |
|
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.
Sie können für ein HTML-Element eine eigene Hintergrundfarbe definieren.
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ü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
<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>
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 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
<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
<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>
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!
Netscape 4.x interpretiert diese Angabe nicht, Internet Explorer bis Version 6 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
<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>
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.
Netscape 4.x interpretiert diese Angabe nicht.
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
<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.
Listenformatierung | |
Rahmen | |
SELFHTML/Navigationshilfen Stylesheets (CSS) CSS-Eigenschaften |
© 2005 Impressum