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

CSS样式表
有趣的Unicode CSS类命名方式
调整CSS类型的顺序改变链接翻滚
CSS实现网页中的隔行换色代码
巧妙运用CSS立刻改变鼠标的样式
CSS教程,CSS固定表头的HTML表格
CSS教程,让网页对搜索引擎更友好
WEB标准,Web前端工程师定位浅谈
CSS配合JavaScript做酷的动态页面效果
WEB标准,Web前端开发工程师必备技术列表
用CSS制作Alpha滤镜测试板
非常流行的所谓的气泡窗口
CSS教程:li和ul标签用法举例
无延迟翻滚的图形与CSS混合风格按钮
浏览器Quirksmode模式与CSSCompat模式
CSS布局实例:上中下三行,中间自适应
CSS初学者应该保持的一种心态
基本的页面设计元素布局比例
DIV CSS常见错误汇总
如何用CSS让文字居于div的底部
从A页面连接到B页面后并直接把B页面的隐藏层显示

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


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