首先重要的是,请尝试添加 CSS 重置脚本。
对于演示,我只是将margin
and重置padding
为0
.
CSS:
* {
margin: 0;
padding: 0;
}
然后不要使用height: auto !important;
,因为浏览器会根据孩子计算高度,这是默认值。
添加box-sizing
属性以允许您定义某些元素以以某种方式适合区域。
并为价值使用border-box
。该值将指定此元素的宽度和高度(以及最小/最大属性),确定元素的边框。width
内容的宽度和高度是通过从指定的和height
属性中减去各自边的边框和填充宽度来计算的
box-sizing
IE(8+)、Opera(8.5+)、Chrome(*) 和 Safari(3) 支持该属性。
对于 IE 6/7,您可以使用Christian Schepp Schaeferbox-sizing: border-box
的polyfill
这篇文章box-sizing
由Chris Coyier撰写。
这个完整的解决方案可以跨浏览器工作。演示
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;
}