为什么这样会塌陷,p标签没有形成BFC 一定要套个div?

来源:2-3 BFC规范和浏览器差异

weixin_慕尼黑0465866

2022-12-24 22:04:52

<!DOCTYPE html>

<html lang="en">


<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

    <style>

        * {

            margin: 0;

            padding: 0;

        }


        p {

            width: 200px;

            height: 200px;

            background-color: orange;

            margin: 50px;

            overflow: hidden;

        }


        .s1 {

            float: left;

            width: 300px;

            height: 300px;

            background-color: red;

        }


        .s2 {

            overflow: hidden;

            width: 200px;

            height: 200px;

            background-color: blue;

        }

    </style>

</head>


<body>


    <p></p>


    <p></p>



    <section class="s1"></section>

    <section class="s2"></section>

</body>


</html>


写回答

1回答

好帮手慕慕子

2022-12-25

同学你好,问题解答如下:

1、p标签设置了overflow:hidden;形成了BFC,针对p标签里面的元素,margin不会塌陷,但是并不会影响p标签自身,所以p标签的margin依然会塌陷。

2、套个div设置overflow:hidden;形成BFC,也是针对div里面的元素margin不会塌陷,而此时p标签作为div的子元素,处于BFC里面,所以margin不会塌陷。

祝学习愉快~

0

前端工程师

前端入门如同写字,如果你不知道从哪开始,那就选择前端(含Vue3.x,React17,TS)

20327 学习 · 17877 问题

查看课程