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

CSS样式表
实现透视效果用css来实现
CSS简单实例:用css来实现透视效果
CSS教程:编写CSS代码时样式命名的规则
CSS教程:在IE7下生成高质量CSS缩略图
CSS教程:关于网页中的透明元素
CSS样式命名规则
CSS教程:文件命名规则
RDFa让你的页面更好的被机器所理解
CSS教程:“自动定位”的应用
关于网页表单实现和网页布局如何运用表单
CSS教程:CSS文本样式全攻略
使用CSS Sprite的一些最佳实践
条件CSS基本使用方法
绝对定位(absolute)和浮动定位(float)
对css性能优化的一点看法
CSS教程:初始化CSS
英文教程:用CSS控制和操作BODY标记
CSS教程:定位属性Position
CSS教程:first-letter伪类元素的特点
网站导航菜单的分割线和水平居中

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 119 ::
收藏到网摘: 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 全选 提示:你可先修改部分代码,再按运行]