老师,看一下盒子塌陷这个问题

来源: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回答

好帮手慕张

2020-12-01

同学你好,关于你的问题,回答如下:

1、这样之所以可以防止盒子塌陷是因为父元素overflow:hidden;之后形成了BFC,子元素相互独立,互不影响:

http://img.mukewang.com/climg/5fc5e892093be32304060443.jpg

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

http://img.mukewang.com/climg/5fc5e90409c04bb905470286.jpg

祝学习愉快!

1

0 学习 · 15276 问题

查看课程