点评:每当进行页面布局时,我们都有这样的需求,就是当子元素div高度不确定时父div自适应高度,本文整理的多种方法可以解决此问题,感兴趣的朋友可以参考下
在最外层div加以下样式 zcpHTML5中文学习网 - HTML5先行者学习网
zcpHTML5中文学习网 - HTML5先行者学习网
height:100%; zcpHTML5中文学习网 - HTML5先行者学习网
overflow:hidden; zcpHTML5中文学习网 - HTML5先行者学习网
zcpHTML5中文学习网 - HTML5先行者学习网
其它方法: zcpHTML5中文学习网 - HTML5先行者学习网
zcpHTML5中文学习网 - HTML5先行者学习网
Div即父容器不根据内容自适应高度,我们看下面的代码: zcpHTML5中文学习网 - HTML5先行者学习网
zcpHTML5中文学习网 - HTML5先行者学习网
<div id="main"> zcpHTML5中文学习网 - HTML5先行者学习网
<div id="content"></div> zcpHTML5中文学习网 - HTML5先行者学习网
</div> zcpHTML5中文学习网 - HTML5先行者学习网
zcpHTML5中文学习网 - HTML5先行者学习网当Content内容多时,即使main设置了高度100%或auto。在不同浏览器下还是不能完好的自动伸展。内容的高度比较高了,但容器main的高度还是不能撑开。
zcpHTML5中文学习网 - HTML5先行者学习网zcpHTML5中文学习网 - HTML5先行者学习网我们可以通过三种方法来解决这个问题 zcpHTML5中文学习网 - HTML5先行者学习网1增加一个清除浮动,让父容器知道高度。请注意,清除浮动的容器中有一个空格。
zcpHTML5中文学习网 - HTML5先行者学习网 zcpHTML5中文学习网 - HTML5先行者学习网
<div id="main"> zcpHTML5中文学习网 - HTML5先行者学习网
<div id="content"></div> zcpHTML5中文学习网 - HTML5先行者学习网
<div style="font: 0px/0px sans-serif;clear: both;display: block"> </div> zcpHTML5中文学习网 - HTML5先行者学习网
</div> zcpHTML5中文学习网 - HTML5先行者学习网
zcpHTML5中文学习网 - HTML5先行者学习网2增加一个容器,在代码中存在,但在视觉中不可见。
zcpHTML5中文学习网 - HTML5先行者学习网 zcpHTML5中文学习网 - HTML5先行者学习网
<div id="main"> zcpHTML5中文学习网 - HTML5先行者学习网
<div id="content"></div> zcpHTML5中文学习网 - HTML5先行者学习网
<div style="height:1px; margin-top:-1px;clear: both;overflow:hidden;"></div> zcpHTML5中文学习网 - HTML5先行者学习网
</div> zcpHTML5中文学习网 - HTML5先行者学习网
zcpHTML5中文学习网 - HTML5先行者学习网3增加一个BR并设置样式为clear:both。
zcpHTML5中文学习网 - HTML5先行者学习网 zcpHTML5中文学习网 - HTML5先行者学习网
<div id="main"> zcpHTML5中文学习网 - HTML5先行者学习网
<div id="content"></div> zcpHTML5中文学习网 - HTML5先行者学习网
<br style="clear:both;" /> zcpHTML5中文学习网 - HTML5先行者学习网
</div> zcpHTML5中文学习网 - HTML5先行者学习网
zcpHTML5中文学习网 - HTML5先行者学习网补充:
zcpHTML5中文学习网 - HTML5先行者学习网 zcpHTML5中文学习网 - HTML5先行者学习网
<div id="main"> zcpHTML5中文学习网 - HTML5先行者学习网
<div id="content"> zcpHTML5中文学习网 - HTML5先行者学习网
<p>demo1</p> zcpHTML5中文学习网 - HTML5先行者学习网
<p>demo2</p> zcpHTML5中文学习网 - HTML5先行者学习网
<p>demo3</p> zcpHTML5中文学习网 - HTML5先行者学习网
</div> zcpHTML5中文学习网 - HTML5先行者学习网
</div> zcpHTML5中文学习网 - HTML5先行者学习网
#main { border:1px solid #999999; background-color:#CCCCCC; height:100%; overflow:hidden;} zcpHTML5中文学习网 - HTML5先行者学习网
#content { float:left;} zcpHTML5中文学习网 - HTML5先行者学习网
zcpHTML5中文学习网 - HTML5先行者学习网以上三个方法都不是最好的解决方法,因为在程序代码观念中是提倡尽量不要添加无意义的标签代码
zcpHTML5中文学习网 - HTML5先行者学习网