clearfix清除浮动分为两种:
清除自身浮动
清除父级浮动
一、为什么要清除浮动
一个块级元素的高度如果没有设置height,那么其高度就是由里面的子元素来撑开的,如果子元素使用浮动,脱离了标准的文档流,那么父元素的高度会将其忽略,你可以使用firebug查看下如果不清除浮动,父元素会出现高度不够,那样如果设置border或者background都得不到正确的解析。
简洁清除浮动
clearfix1:before,.clearfix1:after{content:"";display:table;}
.clearfix1:after{clear:both;overflow:hidden;}
.clearfix1{zoom:1;}
经典清除浮动:
.clearfix2:after{visibility:hidden;display:block;font-size:0;content:"";
clear:both;height:0;}*html
.clearfix2{zoom:1;}/*IE6*/*:first-child+html.clearfix2{zoom:1;}/*IE7*/
overflow清除浮动:
/*overflow:auto*/#demo3{overflow:auto;*zoom:1;}/*或overflow:hidden*/#demo4{overflow:hidden;*zoom:1;}
inline-block方式
#demo5{display:inline-block;*display:inline;*zoom:1;}
这个方法和上面的其它方法会有点差异,主要是inline-block造成的。
如需转载,请注明文章出处和来源网址:http://www.divcss5.com/css3-style/c55438.shtml