目前比较全面的浏览器CSS BUG兼容汇总

2020-05-10 11:44:24易采站长站整理

6.DIV浮动IE文本产生3象素的bug    
左边对象浮动,右边采用外补丁的左边距来定位,右边对象内的文本会离左边有3px的间距.    
#box{ float:left; width:800px;}   
#left{ float:left; width:50%;}   
#right{ width:50%;}   
*html #left{ margin-right:-3px; //这句是关键}   
<div id="box">
    <div id="left"></div> 
    <div id="right"></div>
</div>
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;}   
9.对于排版
我们用得最多的css描述可能就是float:left.有的时候我们需要在n栏的float div后面做一个统一的背景,
譬如:   <div id=”page”>   <div id=”left”></div>   <div id=”center”></div>   <div id=”right”></div>    </div>   
比如我们要将page的背景设置成蓝色,以达到所有三栏的背景颜色是蓝色的目的,
但是我们会发现随着left center right的向下拉长,而 page居然保存高度不变,问题来了,