闭合浮动元素超级简单的方法http://www.jluvip.com/blog/article.asp?id=281

关于闭合浮动元素(clearing float)的方法现在已经很多了,你还不了解的话去 old9的blog看看,有一篇 闭合浮动元素

这些方法我最喜欢就是 使用:after 伪类动态的嵌入一个用于清除浮动的元素,可惜代码量太大了,看着不够简洁。现在我看到有个方法超级简单。赶紧介绍一下。原文在: http://annevankesteren.nl/2005/03/clearing-floats

原理是这样的,外围元素之所以不能很好的延伸,问题出在了overflow上,因为overflow不可见。见W3C的解释
Quote

In addition, if the element has any floating descendants whose bottom margin edge is below the bottom, then the height is increased to include those edges. Only floats that are children of the element itself or of descendants in the normal flow are taken into account, e.g., floats inside absolutely positioned descendants or other floats are not.

http://www.w3.org/TR/2003/WD-CSS21-20030915/visudet.html

现在只要将给外围元素添加一个 overflow:auto;就可以解决问题,结果是除了IE,真的可以解决。下来就要解决ie的问题了,再加上 _height:1%; ,这个问题就完全解决了。

下面是我做的三个例子作为比较

1. 没有闭合浮动元素
2. 非IE下闭合浮动元素
3. 完全闭合元素

代码如下:
XHTML
<div id="wrap">
 <div class="column_left">
  <h1>Float left</h1>
 </div>
 <div class="column_right">
  <h1>Float right</h1>
 </div>
</div>

CSS
#wrap{ border:6px #ccc solid; overflow:auto;  _height:1%;}
  .column_left{ float:left; width:20%; padding:10px;}
  .column_right{ float:right; width:75%; padding:10px; border-left:6px #eee solid;}
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值