代码改变世界

一个挺常用的float布局div的问题

2012-08-02 15:48  Hillyson  阅读(578)  评论(4编辑  收藏  举报

做前端的话,float还是挺常用~

但是各版本对float的兼容问题可是层出不穷啊~

这次遇到个类似的控件,一个父div带边框,里面就是一个一个float的子div,需要换行的时候加了一个

float:left;

height:0px;

width:100%;

overflow:hidden;

font:0pt;/* 蛋疼的IE6你懂的*/

的伪"换行符"div

后面还加了个clear:both;的div来清除浮.

问题来了,在IE8/IE9/chrome里面,怎么捣鼓,都没出什么问题~

这个时候在ff里面也是正常的.然后发现在ie6里面父div的边框没了, ie7里面,第一个"换行符"前面的div跑到父div的外面去了,认了老子做弟弟怎么行啊~

经过测试啊~把伪换行符的float:left;去掉后,IE6/7都立马好了,回来ff一看,尼玛那伪"换行符"(带border-top),活生生一条线没换行直接右边插出去了~

受过float这么的人,第一反应就是clear:both加上去一看,ff又恢复正常了,再回来IE6/7一看,我艹~打回原形啊~后来木有办法,服了呗~只能hack了,最终版本伪"换行符"成这个样子了:

  width: 100%;   

    height:0px;
    border-top: 1px solid #eee;
    font-size:0px;
    overflow:hidden;
    clear:both;
    _clear:none;/* 服了尼玛IE6*/

爱用flaot布局div,真TM伤不起啊~