• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Trae
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Joanna Qian
Stay Hungry, Stay Foolish!
博客园    首页    新随笔    联系   管理    订阅  订阅
解决Div自适应高度的方法(转)

http://www.yutheme.cn/website/index.php/content/view/39/63.html

div高度自适应是个比较麻烦的问题,在朋友artery那里看到这个文章,帮我解决了不少问题,摘录下来:

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;}

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

介绍我的解决方法是直接在最外层div加以下样式

#main { 
    height:100%;
    overflow:hidden;
}
我的注解:
   工作中遇到的问题,baidu了一下,还没有时间去试试全部的方法,目前使用的是第3个方法
posted on 2013-01-10 05:41  Joanna Qian  阅读(271)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3