一个挺常用的float布局div问题解决方法
网站建设 2021-07-03 08:43www.dzhlxh.cn网站建设
这次遇到个类似的控件,一个父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伤不起啊~
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伤不起啊~