每當進行頁面布局時,我們都有這樣的需求,就是當子元素div高度不確定時父div自適應高度,本文整理的多種方法可以解決此問題,感興趣的朋友可以參考下
在最外層div加以下樣式
height:100%;
overflow:hidden;
其它方法:
Div即父容器不根據內容自適應高度,我們看下面的代碼:
復制代碼
代碼如下:
<div id="main">
<div id="content"></div>
</div>
當Content內容多時,即使main設置了高度100%或auto。在不同浏覽器下還是不能完好的自動伸展。內容的高度比較高了,但容器main的高度還是不能撐開。
我們可以通過三種方法來解決這個問題
1增加一個清除浮動,讓父容器知道高度。請注意,清除浮動的容器中有一個空格。
復制代碼
代碼如下:
<div id="main">
<div id="content"></div>
<div style="font: 0px/0px sans-serif;clear: both;display: block"> </div>
</div>
2增加一個容器,在代碼中存在,但在視覺中不可見。
復制代碼
代碼如下:
<div id="main">
<div id="content"></div>
<div style="height:1px; margin-top:-1px;clear: both;overflow:hidden;"></div>
</div>
3增加一個BR並設置樣式為clear:both。
復制代碼
代碼如下:
<div id="main">
<div id="content"></div>
<br style="clear:both;" />
</div>
補充:
復制代碼
代碼如下:
<div id="main">
<div id="content">
<p>demo1</p>
<p>demo2</p>
<p>demo3</p>
</div>
</div>
#main { border:1px solid #999999; background-color:#CCCCCC; height:100%; overflow:hidden;}
#content { float:left;}
以上三個方法都不是最好的解決方法,因為在程序代碼觀念中是提倡盡量不要添加無意義的標簽代碼