这篇文章主要overflow:hidden清除浮动。
1.问题:设置了浮动的元素将父元素的同级元素覆盖
有三个div,#div2 中有三个浮动的div,这时候 #div3 被覆盖。
#div1{
background: blue;
height: 100px;
}
.div1{
width: 25%;
background: green;
float: left;
height: 250px;
}
.div2{
width: 50%;
background: orange;
float: left;
height: 250px;
}
.div3{
width: 25%;
background: gray;
float: left;
height: 250px;
}
#div3{
background: black;
height: 80px;
}
<div id="div1">1</div>
<div id="div2">
<div class="div1">1</div>
<div class="div2">2</div>
<div class="div3">3</div>
</div>
<div id="div3" ></div>
2.解决办法:
将 #div2 添加overflow:hidden属性
<div id="div2 style="overflow:hidden">
3.解释:
当div没有设置高度的时候,默认会把父级div撑开,但是当div设置了高度情况下,子div超出的部分会被隐藏。