方案一

在浮动元素下面加一个清除浮动的元素:div{clear:both} html

1
2
3
4
<div class="clearfix">
<div style="float: left;">Div 1</div>
<div style="float: left;">Div 2</div>
</div

css

1
2
3
4
5
6
.clearfix:after { 
content: " ";
display: block;
height: 0;
clear: both;
}

方案二

将父元素也设置为浮动的 html

1
2
3
4
<div style="float: left;">
<div style="float: left;">Div 1</div>
<div style="float: left;">Div 2</div>
</div>

方案三

为父元素显式的设置高度,不推荐 html

1
2
3
4
<div style="height: 400px;">
<div style="float: left;">Div 1</div>
<div style="float: left;">Div 2</div>
</div>

方案四

为父元素加入overflow:hidded属性或者overflow:auto属性 html

1
2
3
4
<div style="overflow: hidden;">
<div style="float: left;">Div 1</div>
<div style="float: left;">Div 2</div>
</div>

上面四种方案,方案一比较靠谱,兼容性最强 转载地址:https://segmentfault.com/q/1010000005958273