Det er afhængig af en del forskelligt :)
For det første afhænger det af DTD'en. Dernæst er det afhængig af hvad der er sat af, hvad der er sat af margin og padding på body'en - og hvordan den enkelte browser tolker dette.
Enormt mange af de problemer, der bliver stillet i denne og (D)HTML-kategorien, skyldes rod omkring tolkningen af documentElement- og body-elementerne ... dette er ikke en undtagelse :)
Man kan selv gøre en del for at undgå disse problemer:
Naturligvis skal der være en DTD present (ellers er det jo slet ikke et HTML-dokument). Denne bør indeholde definitions-URL'en, da IE eller ikke kan tolke CSS ... ikke engang CSS1. Den kan f.eks. se sådan ud:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd">Dernæst er det en rigtig god idé at sætte følgende CSS:
html, body {
height: 100%;
margin: 0;
padding: 0;
}
Højden bør sættes, da højden på body-elementet ellers kun er så højt som indholdet. Derfor får elementer, der ligger i body-elementet - og som har fået sat højden 100% - ikke den forventede højde. Prøv f.eks. disse to dokumenter:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>TITLE</title>
</head>
<body>
<div style="height:100%;background:red">jliulijuliu</div>
</body>
</html>
- og:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>TITLE</title>
<style type="text/css">
html, body {
height: 100%;
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<div style="height:100%;background:red">jliulijuliu</div>
</body>
</html>
De fleste browsere lægger en margin udenom body-elementet, men Opera lægger i stedet padding i body-elementet - hvorfor både padding og margin sættes til 0.
Satte du ikke disse to værdier til 0, ville de 100% højde naturligvis introducere scrollbars, da body-elementet så ville blive 100% plus de 10px margin i top og bund ;o)