为伪元素 ::after 消除浮动
案列:`
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>after消除浮动</title>
<style>
.main{
width: 300px;
background-color: pink;
}
.main>div{
width: 100px;
height: 100px;
border: 1px solid red;
float: left;
}
.main.box2{
width: 100px;
height: 100px;
border: 1px solid red;
float: right;
}
p{margin: 0;}
</style>
</head>
<body>
<div class="main clear">
我是大盒子
<div class="box1">我是盒子1</div>
<div class="box2">我是盒子2</div>
</div>
</body>
</html>
效果图:
消除浮动代码:
.clear::after{
content: "";
display: block;
clear: both;
}
效果图:
2.此现象出现的原因分析:此时浮动的子元素已经脱离了标准流,换句话说就是子元素浮动在父级元素之上了。