清除浮动的难点就是要兼容多浏览器,safari、chrome、firefox、IE缺一不可,而且代码还要精简。最后的优化方案有两个:
优化方案一:
.clearfix:after{clear:both;content:"\200B";display:block;height:0;} .clearfix{*zoom:1;}
Unicode字符里有一个“零宽度空格”,即 U+200B,代替原来的“.”,可以缩减代码量。而且不再使用visibility:hidden。
优化方案二:
.clearfix:before, .clearfix:after {content:"";display:table; } .clearfix:after {clear:both;} .clearfix{zoom:1;}
这两段代码经过测试,在Firefox下工作的不错。