div高度自适应浏览器高度的方法详解

发布时间:2020-07-08编辑:脚本学堂
如何设置一个div高度自适应浏览器高度呢?本文为大家作一个详细的介绍,从多个方面来分析,有需要的朋友,参考下吧。

有的朋友说,已经设置div 100%了,怎么还没效果?
这里要注意关键的一个设置:
 

复制代码 代码示例:
html,body{height:100%;overflow:hidden;}

Div浮动自适应高度

1,div的高度自适应

在一个父级div中嵌套一左一右两个子div,右边的子div内容可无限扩展,而可以使得父级div的高度能被无限拉长,用一般的布局方法,在IE中可以正确浏览,在Mozilla中父级div的高
度就固定在10px左右,无法自适应高度,height:auto也不行,怎么办呢。

实现自适应高度,div层必须具有float属性,于是我开始动手试验,float:left的话,div就跑到页面最左边去了,这好办,我在它的外面再套一层div,把位置定好,那么里面的就算float:left也不会被移动位置了。

xhtml:
 

复制代码 代码示例:
<div id="container_father">
<div id="container">
<div id="panel"> test<br />
test<br />
test<br />
<!-- id="panel" -->
</div>
<div id="sidebar">
<ul>
<li class="current">预安装检查</li>
<li>阅读 PFC 授权协议</li>
<li>初始化数据库</li>
<li>完成安装</li>
</ul>
<!-- id="sidebar" -->
</div>
<!-- id="container" -->
</div>
</div>

CSS代码:
 

复制代码 代码示例:

#container_father {
margin-left: auto;
margin-right: auto;
padding: 0px;
width: 750px;
}

#container {
width: 750px;
border: 1px solid #cccccc;
padding: 8px;
margin: 0px;
background-color: #F1F3F5;
float: left;
}

2 、 让Div在IE和Firefox下自适应高度

之前遇到Div不自适应高度时,就在最底下加多个空的Div清除两边的浮动:
 

<div style="clear:both"></div>
 

但是,如果Div嵌套过多中间浮动过于复杂,容易使页面乱掉。
可以直接在外层想让其"自适应高度"的Div添加以下属性:
 

style="height:100%; overflow:auto;"

但是,如果只添加"height:100%; "(设置高度100%)就IE下可以自适应高度而FireFox不行,如果只添加"overflow:auto; "(设置溢出自动)就FireFox
下可以自适应高度而IE不行。

完美的解决办法:
 

"height:100%; overflow:auto;" //两个属性同时添加进去就可以了。

个人觉得,最好的方法为:
 

colwrapper   {overflow:hidden; zoom:1; margin:5px auto;}

有关div高度自适应的文章,就介绍到这里了,希望对大家有所帮助。