外边距合并嵌套块元素塌陷问题

2022-09-08 16:10:35 浏览数 (2)

如下案例

代码语言:javascript复制
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title></title>
        <style>
            .f{
                background-color: red;
                width:300px;
                height: 200px;
            }
            .s{
                background-color: blue;
                width:150px;
                height: 100px;
                margin-top:30px;
            }
        </style>
    </head>
    <body>
        <div class="f">
            <div class="s"></div>
        </div>
    </body>
</html>

此时运行结果

可以看到子元素并没有离父元素上边距10px而是使整个父盒子塌陷了10px

这里的解决办法有 给父元素设置border-top 给父元素定义内边距 父元素加overflow:hidden

需要注意的是浮动的盒子不会存在外边距合并塌陷的问题

0 人点赞