1.问题
请看下列代码及显示效果
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>HTML5</title>
<style>
* {
margin:0;
padding:0;
}
div {
width:50px;
height:50px;
float:left;
margin-left:25px;
}
.one {
background:red;
}
.two {
background:blue;
}
</style>
</head>
<body>
<div class="one">
</div>
<div class="two">
</div>
</body>
</html>
在其它浏览器中的显示效果:
2.分析
在IE6中如果浮动元素的浮动方向和边距方向相同,则浮动方向上的边距会加倍。如果有多个浮动元素,则只会应用于第一个浮动元素。
3.解决方法
(1)在浮动元素的浮动方向相同的方向上不设置边距,而在相反的方向上设置边距,就不会出现上述问题。
(2)给浮动元素设置“display:inline;”,那么在IE6中就会显示正常,而在其它浏览器中依然会把它当成块元素。