Home > css | xhtml > html要素とbody要素のbackground-color

html要素とbody要素のbackground-color

html要素とbody要素に背景色をあてて遊んでいたところ(*1)、不思議な現象が発生しました。

まず、XHTML1.0 Strictで以下のようなページを作成します。

<?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" xml:lang="ja" lang="ja">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>html,body要素の考察</title>
</head>

<body>
    <h1>html,body要素の考察</h1>
    <pre>...</pre>
    <address>Copyright © 2006-2007 miniturbo.org All Rights Reserved.</address>
</body>
</html>

そのページに以下のCSSを適用します。

html,
body {
    margin: 0;
    padding: 0;
}

html {
    height: 100%;
    background-color: #82a2a8;
}

body {
    height: 100%;
    background-color: #90a882;
}

すると、以下のようなページになります。

サンプル01

サンプル01

断面図にするとこのような感じですね。

サンプル01 断面図

その後、body要素に高さを指定します。

body {
    height: 80%;
}

すると、以下のようなページになります。

サンプル02

サンプル02

その後、html要素の背景色を透明に指定します。

html {
    background-color: transparent;
}

すると…

サンプル03

サンプル03

…わかりやすくするため、body要素にborderを指定してみます。

body {
    border: 2px solid #b86f4f;
}

すると以下のように…。

サンプル04