clear与float的含义:float:left; 当前元素向左侧浮动.float:right: 当前元素向右侧浮动. clear:left; 禁止左侧出现浮动元素,如果左侧存在浮动元素,则当前元素将在浮动元素下面另起一行呈现.clear:right; 禁止右侧出现浮动元素,如果右侧存在浮动元素,则右侧的浮动元素将在当前元素下面另起一行呈现.clear:both; 禁止左右两侧出现浮动元素,当前元素将排斥浮动元素独占一行呈现.上面提到的行也可能是多行组成的一个块,不仅仅是一个文本行的概念.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div class="container">
<div class="box1"></div>
<div class="box2"></div>
<!-- 第一种<div style="clear:both"></div> -->
</div>
<div class="box"></div>
</body>
<style>
.box1,.box2{
width: 200px;
height: 250px;
float: left;
}
.box1{
background-color: brown;
}
.box2{
background-color: yellow;
}
.box{
width: 220px;
height: 260px;
background-color: aqua;
clear: both;/*第四种*/
}
.container{
border: 1px solid #90f;
height: 250px; /* 第二种 解决高度塌陷*/
/* 第三种 overflow: hidden; */
}
</style>
</html>