1.浮动元素会脱离html文本流,相对于从标签那些里脱去,会改变html的样子
2.例https://www.w3school.com.cn/tiy/t.asp?f=css_layout_clear
3.在这里插入代码片
<!DOCTYPE html>
<html>
<head>
<style>
.div1 {
float: left;
width: 100px;
height: 50px;
margin: 10px;
border: 3px solid #73AD21;
}
.div2 {
border: 1px solid red;
clear:left;//通过这个的删除来查看一下改变
如果这个元素被删掉,那么div1会提升到上面 contain的大小为div的大小
如果加上去,会计算出这个浮动的位置,然后让div2在div1的下面显示,保证了div2的左边显示出来是被"clear"的效果的,然后这样做的本质其实是contain的高度变大,相当于在div2的上面多了一层元素,顶替了原来这个div1的大小位置
}
.contain{
background-color:red;
}
.div3 {
float: left;
width: 100px;
height: 50px;
margin: 10px;
border: 3px solid #73AD21;
}
.div4 {
border: 1px solid red;
clear: left;
}
</style>
</head>
<body>
<h1>不使用 clear</h1>
<div class="contain">
<div class="div1">div1</div>
<div class="div2">div2 - 请注意,在 HTML 代码中 div2 在 div1 之后。不过,由于 div1 向左浮动,div2 中的文本会流动到 div1 周围。</div>
</div>
<br><br>
<h1>使用 clear</h1>
<div class="div3">div3</div>
<div class="div4">div4 - 在此处,clear: left; 把 div4 移动到浮动的 div3 下方。值 "left" 会清除向左浮动的元素。您也可以清除 "right" 和 "both"。</div>
</body>
</html>