一:解决后续元素不会另起行显示:
1.在该元素后面新加div
2.并设置clear:both属性
二:早期版本的IE在float中的BUG:
1.块元素
2.float: left;
3.margin-left不为0
margin-left会double
解决办法是:让第一个float:left的元素添加display: inline属性
-->
Demo:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
body, div{
padding: 0;
margin: 0;
}
#div1 {
float: left;
margin-left: 10px;
margin-top: 10px;
width: 100px;
height: 100px;
background-color: red;
display: inline; /*only for 低版本IE*/
}
#div2 {
float: left;
margin-left: 10px;
margin-top: 10px;
width: 150px;
height: 100px;
background-color: goldenrod;
}
#div3 {
width: 100px;
height: 100px;
background-color: yellow;
margin-left: 10px;
margin-top: 10px;
}
.clear{
clear: both;/*在chrome中:让第后续块元素新起一行显示*/
}
</style>
</head>
<body>
<div id="div1">div1</div>
<div id="div2">div2</div>
<!-- 早期版本的IE在float中的BUG:
1.块元素
2.float: left;
3.margin-left不为0
margin-left会double
解决办法是:让第一个float:left的元素添加display: inline属性
-->
<div class="clear"></div>
<!-- 解决后续元素不会另起行显示:
1.在该元素后面新加div
2.并设置clear:both属性
-->
<div id="div3" >div3</div>
</body>
</html>