background-color mit XHTML 1.0 Strict
Lars
- css
Hallo,
ich möchte gerne mittels CSS eine Hintergrundfarbe für mein Dokument definieren.
Das Problem an der Sache ist, dass die Farbe sozusagen nur für den Text "gilt", also nicht für die gesamte Seite. Wenn ich den Browser öffne, sehe ich also quasi in der oberen Hälfte des Bildschirms meinen Hintergrund und in der unteren Hälfte eine freie weiße Fläche.
Kann man das umgehen, so dass der komplette Bildschirm eingefärbt ist? (Merkwürdigerweise funktioniert es, wenn ich meine index.xhtml in index.htm umbenenne. Aber wird mein Dokument dann auch als XHTML interpretiert?)
Mein Code sieht so aus:
-> index.xhtml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!--header-->
<link rel="stylesheet" type="text/css" media="screen" href="style/main.css" />
<!--usw. usf.-->
-> main.css
body { background-color:#DCE0D3;
margin:0px 0px 0px 0px; }
/* usw. */
Vielen Dank schon mal
MfG Lars
Hallo,
das body-Element ist gemäß CSS standardmäßig nur so hoch wie sein tatsächlicher Inhalt, es füllt den Anzeigebereich des Browserfensters (Viewport) normalerweise nicht aus.
Trotzdem färbt body {background-color:irgendwas;} den gesamten Viewport ein. Das liegt nur daran, dass für HTML-Dokumente im CSS-Standard extra vorgeschrieben ist, dass background-color für body automatisch für den gesamten Viewport gilt (http://www.w3.org/TR/CSS21/colors.html#q2).
Aus irgendwelchen Gründen ist im CSS-Standard auch festgeschrieben, dass diese Regel *nicht* für XHTML-Dokumente gilt. Wenn der Browser dein XHTML-Dokument auch als solches verarbeitet, dann musst du html,body {background-color:...;} notieren, um wirklich den gesamten Viewport einzufärben. Denn das html-Element umschließt in jedem Fall den gesamten Viewport.
(Merkwürdigerweise funktioniert es, wenn ich meine index.xhtml in index.htm umbenenne. Aber wird mein Dokument dann auch als XHTML interpretiert?)
Nein, wird es nicht.
Man will sowieso nicht, dass das Dokument als XHTML verarbeitet wird - denn der Internet Explorer kann das nicht. Deshalb verwendet man im offenen Web für gewöhnlich HTML-kompatible XHTML-Dokumente mit dem MIME-Typ text/html bzw. der Dateiendung .html.
Mathias
Hallo,
vielen Dank für die Informationen. Ich hatte auch schon festgestellt, dass sich der IE irgendwie querstellt. Ich würde ja am liebsten darauf verzichten, aber der IE hat nun mal den größten Marktanteil. Also belasse ich das bei der Lösung mit .htm und .html.
MfG Lars