【clearfix的作用】
很多网站中都会有一个通用类,其作用是 —— 清除之前的浮动关系,修复在firefox、chrome等标准浏览器中子元素全部浮动时,父元素不自动增高的问题。
如下一段来自淘宝的DOM:
<div class="tb-summary clearfix">
....
</div>
【cleafix的CSS定义】
再看这一段clearfix的css代码,如下:
.clearfix {}
.clear:after {
content: ‘\20‘;
display: block;
height: 0;
clear: both;
}
【针对clearfix的解释】
对clearfix本身没有添加任何内容。只是对.clearfix:after做出一些css属性定义。:after是对某个元素之后的定义。
.content:‘\20\; —— 内容为空
display:block; —— 块状显示
height:0; —— 高度为0
clear:both; —— 清除浮动
那么我理解为:引用了clearfix的元素,其后添加一个块(内容为空,高度为0,并清除之前的浮动关系)。
【关于IE】
低版的IE不会支持:after,但同样低版本的IE会自动增高,所以不用写这一段。如果不放心,增加一个zoom:1属性也可以。