日期:2013-12-16 浏览次数:21121 次
6.DIV浮动IE文本产生3象素的bug
左边对象浮动,左边采用外补丁的左边距来定位,左边对象内的文本会离左边有3px的间距.
#box{ float:left; width:800px;}
#left{ float:left; width:50%;}
#right{ width:50%;}
*html #left{ margin-right:-3px; //这句是关键}
7.IE捉迷藏的问题
当div使用复杂的时候每个栏中又有一些链接,DIV等这个时候容易发生捉迷藏的问题。
有些内容显示不出来,当鼠标选择这个区域是发现内容确实在页面。 处理办法:对#layout使用line-height属性 或者给#layout使用固定高和宽。页面结构尽量简单。
8.float的div闭合;清除浮动;自顺应高度
①例如:<#div id=”floatA” ><#div id=”floatB” ><#div id=”NOTfloatC” >这里的NOTfloatC并不希望继续平移,而是希望往下排。(其中floatA、floatB的属性曾经设置为float:left;)
这段代码在IE中毫无问题,问题出在FF。缘由是NOTfloatC并非float标签,必须将float标签闭合。在 <#div class=”floatB”> <#div class=”NOTfloatC”>之间加上 <#div class=”clear”>这个div一定要留意位置,而且必须与两个具有float属性的div同级,之间不能存在嵌套关系,否则会产生异常。并且将clear这种款式定义为为如下即可: .clear{ clear:both;}
②作为外部 wrapper 的 div 不要定死高度,为了让高度能自动顺应,要在wrapper里面加上overflow:hidden; 当包含float的box的时候,高度自动顺应在IE下无效,这时候应该触发IE的layout私有属性(万恶的IE啊!)用zoom:1;可以做到,这样就达到了兼容。
例如某一个wrapper如下定义:
.colwrapper{ overflow:hidden; zoom:1; margin:5px auto;}
③对于排版,我们用得最多的css描述可能就是float:left.有的时候我们需求在n栏的float div后面做一个统一的背景,譬如:
比如我们要将page的背景设置成蓝色,以达到所有三栏的背景颜色是蓝色的目的,但是我们会发现随着left center right的向下拉长,而page竟然保存高度不变,问题来了,缘由在于page不是float属性,而我们的page由于要居中,不能设置成 float,所以我们应该这样处理
再嵌入一个float left而宽度是100%的DIV处理之
出处:web前端寒风
责任编辑:bluehearts