老师,看一下盒子塌陷这个问题
来源:2-3 BFC规范和浏览器差异
刘宇阳
2020-11-30 23:33:49
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<style>
.div{
overflow: hidden;
}
.div1 {
width: 100px;
height: 100px;
margin-bottom: 25px;
background-color: khaki;
}
.div2 {
width: 100px;
height: 100px;
margin-top: 25px;
background-color: lightsalmon;
}
</style>
<body>
<!-- 为什么这样就可以防止盒子塌陷 -->
<div class="div">
<div class="div1"></div>
</div>
<div class="div">
<div class="div2"></div>
</div>
<!-- 而这样就不行,语法不都一样吗,什么原理? -->
<div class="div">
<div class="div1"></div>
<div class="div2"></div>
</div>
</body>
</html>
1回答
同学你好,关于你的问题,回答如下:
1、这样之所以可以防止盒子塌陷是因为父元素overflow:hidden;之后形成了BFC,子元素相互独立,互不影响:

2、BFC是页面上的一个隔离的容器,容器里边的子元素不会影响到外面的元素,而下图的写法是父元素形成一个BFC,但是里边的两个子元素之间没有形成新的BFC,因此会出现相邻元素margin值塌陷问题:

祝学习愉快!
相似问题