当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > 闭合浮动元素超级简单的方法

CSS样式表
CSS3教程(10):CSS3 HSL声明设置颜色
CSS3教程:新增加的结构伪类
网页布局绝对定位(position)轻松简单
掌握盒模型轻松DIV CSS网页布局
实例方式学CSS text-align怎么用
网页重构时在IE6中遇到png兼容性
CSS3教程:边框属性border的极致应用
CSS网页布局使用表格可以吗?
最新版本的CSS选择器浏览器支持情况
有序列表和段落设计华丽的网页列表数字
CSS教程:通过实例学习和理解CSS盒模型
CSS网页布局的核心内容:CSS盒模型
CSS3伪类选择器:nth-child()
CSS教程:inline-block在各浏览器的显示
CSS实现网页分栏布局的方法:绝对定位和浮动
CSS实例:用CSS制作网页像素画
CSS教程:三列固定网页布局实例
无hack无js全兼容text-overflow-ellipsis效果
CSS解决方案:IE6中遇到png兼容性
CSS学习之类目之间竖线的练习实例

CSS样式表 中的 闭合浮动元素超级简单的方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 111 ::
收藏到网摘: n/a

无意中看到的一个非常不错的小技巧.是关于用CSS处理闭合浮动元素的方法,收藏了.
关于闭合浮动元素(clearing float)的方法现在已经很多了,你还不了解的话去old9的blog看看,有一篇闭合浮动元素。
这些方法我最喜欢就是 使用:after 伪类动态的嵌入一个用于清除浮动的元素,可惜代码量太大了,看着不够简洁。现在我看到有个方法超级简单。赶紧介绍一下。原文在:http://annevankesteren.nl/2005/03/clearing-floats
原理是这样的,外围元素之所以不能很好的延伸,问题出在了overflow上,因为overflow不可见。见W3C的解释
引用内容:
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.

现在只要将给外围元素添加一个overflow:auto;就可以解决问题,结果是除了IE,真的可以解决。下来就要解决ie的问题了,再加上_height:1%; ,这个问题就完全解决了。
下面是我做的三个例子作为比较
1.没有闭合浮动元素
2.非IE下闭合浮动元素
3.完全闭合元素
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]