设置DIV大小的有两个属性width和height,之前在学习DIV每次给DIV设置100%宽度或高度时都很迷惑,不明确这个100%的宽度(高度)到底有多宽有多高?这个100%是从哪里获得的从哪里继承的?今天咱们的话题就是有关div高度100%的问题!css
正像你所知道的那样,设置DIV大小的有两个属性width和height,之前在学习DIV每次给DIV设置100%宽度或高度时都很迷惑,不明确这个100%的宽度(高度)到底有多宽有多高?这个100%是从哪里获得的从哪里继承的?今天咱们的话题就是有关div高度100%的问题!html
其实,要弄懂div宽度|width100%、div高度|height100%究竟是怎么实现的,只需弄懂一个简单的问题就能够了,即100%的基数是谁,就是这个100%是相对于谁的width、height来讲是100%?浏览器
div的100%是从其上一级div的宽高继承来的,有一点很关键,就是要设置div100%显示,必须设置其上一级div的宽度或高度,不然无效。举例说明:父div(deman)宽300高200,子div(cc)若是在这个条件下设置divcc的宽高都为100%的话,那cc的确切大小就是父div的大小(宽300高200),在尝试中你会发现,div显示会受自身和其上一级div的padding和margin影响,而其实际宽高不受影响。值得玩味噢!学习
你设div的高度为100%,那么它是和什么地方相对为100%?htm
前面总得有个容器说明他的高度是多少。这样的话div才能按比例100%继承上一级的高度。惋惜的是浏览器通常默认解释为内容的高度,而不是100%。可是只要为html和body设置高度为100%就能够了:html,body{height:100%;},这样以后div会按比例来继承上一级的高度了,仅仅设置的DIV元素的height属性貌似没有什么效果。继承
同时,让人高兴的是,这样设置的css样式不存在浏览器兼容问题,在IE5.五、IE六、IE七、IE8还有火狐都可正常显示。容器
那么,以下的样式能够设置Div撑满整个页面:样式
<style type="text/css">
html
{
height:100%;
margin:0;
}
body
{
height:100%;
margin:0;
}
</style>margin
<div style="width:100%; height:100%; background-color:#666; z-index:1">
</div>兼容
有一点须要注意的是,Html级元素默认宽度是100%,即整行;可是高度并非100%,而仅仅是一行而已。
因此要想实现撑满整个页面,必须显式地设置高度为100%!