清除浮动的方法有三种:
父级上增加属性 overflow:hidden
在最后一个子元素的后面加一个空的 div,给它样式属性 clear:both(不推荐)
使用成熟的清浮动样式类,clearfix
如下代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.continer{
/* 设置其父元素,因为其子元素都为浮动元素
所以父元素无法撑开,解决方式(清除浮动)3种方式 */
/* (1)使用overflow:hidden清除浮动 推荐使用 */
/* overflow: hidden; */
width: 600px;
border: 2px solid slategray;
}
/* (2)使用浮动元素后添加空div元素,设置clear:both 不推荐 */
/* .div_04{
clear: both;
} */
/* (3)使用成熟的清除浮动的方式(伪类及clear:both) 推荐使用 */
.continer::after,.continer::before{
content: '';
display: table;
}
.continer::after{
clear: both;
}
.div_01,.div_02,.div_03{
width: 100px;
height: 100px;
float: left;
}
.div_01{
background: red;
}
.div_02{
background: green;
}
.div_03{
background: blue;
}
</style>
</head>
<body>
<div class="continer">
<div class="div_01">第一个div元素</div>
<div class="div_02">第二个div元素</div>
<div class="div_03">第三个div元素</div>
<!--清除浮动个第二种方式 添加空div元素-->
<div class="div_04"></div>
</div>
</body>
</html>