求助浏览器兼容问题CSS方面

来源:百度知道 编辑:UC知道 时间:2024/09/23 00:39:55
============================HTML代码部分===========================

<body>
<div style=" width:1000px; height:400px; border:1px solid; float:left ">
<div style=" width:300px; height:200px; border:1px red solid; float:left; margin-left:20px;"></div>
<div style=" width:300px; height:200px; border:1px red solid; float:left; margin-left:20px; "></div>
<div style=" width:300px; height:200px; border:1px red solid; float:left; margin-left:20px; "></div>
</div>
</body>

============================问题部分===========================

在IE7.FF都正常。
但是在IE6下面,margin-left显示不正常,第一个DIV的margin-left是后面的2倍。求解决方法。。。
<div style=" width:300px; height:200px; border:1px red solid;float:left; margin-left:20px;_margin-left:10px;"></div>

第一个后面加一句_margin-left:10px;
回答者: haoran198700 - 江湖新秀 五级 5-6 17:01

<div style=" width:300px; height:200px; border:1px red solid;float:left; margin-left:20px;_margin-left:10px;"></div>

第一个后面加一句_margin-left:10px;

ie6下给浮动容器定义margin-left 或者margin-right 实际效果是数值的2倍。解决方案,给浮动容器定义display:inline。

这是ie6中的典型bug(浮动元素的外边距加倍...)。

解决的办法很简单,给每个div的style加一条语句:display:inline;

不要问我为什么,也许只有IE的开发人员知道。
这类解决方法叫hank(用来解决浏览器兼容性和bug的方法,没有什么理由,只要记住就够了),wahahaderen可以去自己查查。