流云飞飞

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

转自:http://www.360doc.com/content/12/1128/16/432969_250774410.shtml

Div即父容器不根据内容自适应高度,我们看下面的代码:

<div id="main">
  <div id="content"></div>
</div>

  当Content内容多时,即使main设置了高度100%或auto。在不同浏览器下还是不能完好的自动伸展。内容的高度比较高了,但容器main的高度还是不能撑开。

  我们可以通过三种方法来解决这个问题。

  一,增加一个清除浮动,让父容器知道高度。请注意,清除浮动的容器中有一个空格。

<div id="main"> 
  <div id="content"></div> 
  <div style="font: 0px/0px sans-serif;clear: both;display: block"> </div>
</div>

  二,增加一个容器,在代码中存在,但在视觉中不可见。

<div id="main"> 
  <div id="content"></div> 
  <div style="height:1px; margin-top:-1px;clear: both;overflow:hidden;"></div>
</div>

  三,增加一个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; height:100%;overflow:hidden;}
#content { float:left;}

以上三个方法都不是最好的解决方法,因为在程序代码观念中是提倡尽量不要添加无意义的标签代码

建议解决方法是:直接在最外层div加以下样式

#main {
  height:100%;
  overflow:hidden;
}

 

posted on 2015-01-27 10:27  流云飞飞  阅读(382)  评论(0)    收藏  举报