まず重要なことは、CSS リセット スクリプトを追加してみてください。
margin
デモでは、とpadding
を にリセットしました0
。
CSS :
* {
margin: 0;
padding: 0;
}
height: auto !important;
ブラウザは子に基づいて高さを計算し、これがデフォルト値であるため、使用しないでください。
プロパティを追加box-sizing
すると、特定の要素を特定の方法で領域に合わせて定義できます。
そして価値のある使用のためにborder-box
。この値は、この要素の幅と高さ (および最小/最大プロパティ) を指定し、要素の境界ボックスを決定します。width
コンテンツの幅と高さは、指定されたandheight
プロパティからそれぞれの辺のボーダーとパディングの幅を差し引いて計算されます。
このbox-sizing
プロパティは、IE(8+)、Opera(8.5+)、Chrome(*)、および Safari(3) でサポートされています。
IE 6/7 の場合、 Christian Schepp Schaeferbox-sizing: border-box
によるポリフィルを使用できます
Chris Coyierbox-sizing
によるこの記事。
そして、この完全なソリューションはクロスブラウザーで動作します。デモ
HTML :
<div class="first">
First DIV
<div class="second">
Second DIV
<div class="third">
<div class="fourth">
Fourth DIV
</div>
</div>
</div>
</div>
CSS :
* {
margin: 0;
padding: 0;
}
html,body{
height: 100%; /* ie 6 will use this instead of min-height */
min-height: 100%; /* ie 6 will ignore this */
}
div{
min-height: 100%;
width:100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
box-sizing: border-box;
*behavior: url(pathto/boxsizing.htc); /* Add the behavior/HTC after every box-sizing: border-box. You must add prefix with a star so IE6/7 can see it */
}
.first{
padding:50px;
background: red;
}
.second{
padding:25px;
background: green;
}
.third{
background: yellow;
}
.fourth{
background: brown;
}