当{clear:both}遇上古董IE6

今天又完成了一个客户的网站,在做最后的各浏览器兼容性测试时,在IE6和IE7上,一个盒子模型居然内部自动增高了,导致和其他盒子模型高度不一致,万恶的古董IE6,不过使用它的人还不少,没办法只有检查哪里的代码没兼容。

image

IETester中IE6版本的测试效果,红框处为异常区域

仔细检查了CSS代码和HTML代码,在上边红框相邻的代码中发现了一段清除浮动的代码,我试着将其删除,页面在IE6下也就显示正常了。不过考虑到以后的页面某些地方必不可少的需要清除浮动,只有去网上逛一圈了。

CSS中的clear:both在IE6中会出现高度占用,网友说这个是白痴问题,我也觉得是,只要加上height:0px;和overflow:hidden;属性就能解决了。比如这样:

1
2
3
4
5
.clear {
    clear:both;
    height:0px;
    overflow:hidden;
}

CSS对各个浏览器的兼容一直是让人头疼的问题,后边我将开一篇博文用于收集CSS对各浏览器的HACK,也不至于以后在做兼容性处理时现去网上搜集。