哪种clearfix方法?

时间:2010-07-12 09:02:36

标签: html css css-float

/ *清除修复* /

.clearfix:after {content: ".";display:block;height:0;clear:both;visibility:hidden;}
* html .clearfix {height:1%;}

.clearfix:after {content: ".";display:block;height:0;clear:both;visibility:hidden;}
* html .clearfix, *:first-child+html .clearfix {zoom:1;}

哪种效果最好? 我现在使用第一个,从来没有问题.. 感谢。

3 个答案:

答案 0 :(得分:3)

最简洁的技术是设置溢出:隐藏在现代浏览器中:

overflow:hidden;
zoom:1;

如果元素需要流出尺寸(负边距或定位),则clearfix:

#el:after { content:""; clear:both; display:block; visibility:hidden; }

对于IE6及以下版本,您需要触发hasLayout(通过宽度,缩放:1,高度和其他属性/值组合)。从IE7开始,溢出将清除浮动。

答案 1 :(得分:1)

后者似乎没问题,因为它也考虑了IE6(zoom:1;)。

答案 2 :(得分:0)

这一直对我有用。与你的非常相似

.clearfix:after {
    content: "."; 
    display: block;
    height: 0; 
    font-size:0;
    clear: both; 
    visibility:hidden;
}
    .clearfix{display: inline-block;}
    * html .clearfix {height: 1%;}
    .clearfix {display:block;}