清除浮动这个问题的提出,在现在来说应该算是一个非常古老的问题了,很多人对解决办法估计也能烂记于心了,但是我这个落后了不少的前端开发程序员,太长时间不写页面,今天仍然被这个问题困扰了半天。
好在这个问题并不新鲜,很快在网上找到了关于此问题的很不错的文章。有兴趣的可以参看这篇文章:《清除浮动的最优方法》,这里的办法是不错的,不过正如评论所说,使用overflow:auto总觉得有些问题,不是很舒服。因此对于解决办法我比较赞同这段话:
闭合浮动元素:针对firefox用overflow:auto。针对ie用*height:1%或者zoom:1。个人觉得overflow:auto少用为妙,会有些莫明其妙的问题。
最好用这个方法:
.clearfix:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
/* End hide from IE-mac */
一般来讲,在IE中使用*height:1%或者zoom:1,firefox使用overflow:auto足以解决问题。但是最后提出的clearFix的办法是目前最优最经典的解决办法,对firefox使用:after来实现清除浮动虽然有点繁琐,但是个不错的主意,避免了使用overflow。最终我还是采用了clearFix的办法。不知是否还有更好的解决办法,如果那位大师知道,希望能分享一下。
网名:网者归来、yemoo,长期并将继续投身于WEB前端相关技术的学习和推广的大军中,目前就职于杭州