第一种:
关于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;}