<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>clear</title>
<style>
* {
margin: 0;
padding: 0;
}
body {
/*border: 1px solid green;*/
}
.box1 {
background-color: blue;
}
.box1 p {
width: 150px;
background-color: pink;
}
.box2 {
background-color: green;
clear: left;
/*
使用了 clear属性以后 margin属性会失效
clear:
- left 不要去找前面的左浮动元素
- right 不要去找前面的右浮动元素
- none 默认值. 按照浮动流元素的规则排序
- both 不要去找前面的左浮动元素和右浮动元素
*/
margin-top: 40px;
}
.box2 p {
width: 150px;
background-color: aqua;
}
p {
float: left;
}
</style>
</head>
<body>
<div class="box1">
<p>1111</p>
<p>2222</p>
<p>3333</p>
</div>
<div class="box2">
<!--
给后面的盒子 即box2添加clear属性后可以清除浮动,不用写高度了
但是: 给元素添加clear属性后,会使margin属性失效。
原因: 边距重叠第一种情况(给父元素 body 添加边框 可以查看到实际的边距情况,但是没人这么干)
-->
<p>4444</p>
<p>5555</p>
<p>6666</p>
</div>
</body>
</html>
上述运行结果: