清除浮动
浮动原因:容器子元素都浮动,浮动脱离文档流不占据位置,而容器又不便于设置
高度时,容器此时的高度会为0,会影响到后面标准流的内容
<ul class="test">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
<style>
li{
width: 200px;
height: 150px;
background-color: aqua;
float: left;
}
</style>
- 利用overflow属性清除
ul{
overflow:hidden;
}
- 利用clear属性清除
li:last-child{
clear:both;
float:none
}
- 父容器加伪元素
ul::after{
content:'';
display:block;
clear:both;
height:0;
visibility:hidden;
}
//--------------
ul::before{
content: "";
display: table;
}
ul::after{
content: "";
display: table;
clear: both;
}
- 额外标签
<ul class="test">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<!-- 额外标签法,隔墙法 。新增的标签必须是块级元素-->
<!-- <li></li> -->
</ul>