美文网首页
13.margin垂直外边距的重叠,导致子父元素移动问题

13.margin垂直外边距的重叠,导致子父元素移动问题

作者: 欣博客 | 来源:发表于2020-02-17 23:50 被阅读0次

margin垂直外边距的重叠问题
在网页中相邻的垂直方向的外边距会发生外边距的重叠
所谓的外边距重叠指兄弟元素之间的相邻外边距会取最大值而不是取和
如果父子元素的垂直外边距相邻了,则子元素的外边距会设置给父元素

初始未设置margin-top 垂直外边距:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            .box3{
                width: 200px;
                height: 200px;
                background-color: yellow;
            }

            .box4{
                width: 100px;
                height: 100px;
                background-color: yellowgreen;
                /*
                 * 为子元素设置一个上外边距,是子元素的位置下移
                 */
                /*margin-top: 100px;*/
            }

        </style>
    </head>
    <body>
        <div class="box3">
            <div class="box4"></div>
        </div>
    </body>
</html>

预览效果图
image.png

因为子元素和父元素重叠,这个时候我给子元素设置margin-top 就会导致父元素也会跟着移动,导致bug出现

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            .box3{
                width: 200px;
                height: 200px;
                background-color: yellow;
            }

            .box4{
                width: 100px;
                height: 100px;
                background-color: yellowgreen;
                /*
                 * 为子元素设置一个上外边距,是子元素的位置下移
                 */
                margin-top: 100px;
            }

        </style>
    </head>
    <body>
        <div class="box3">
            <div class="box4"></div>
        </div>
    </body>
</html>

效果预览:


image.png

解决方案就是不要让子元素与父元素重叠

通过设置padding-top 让子元素与父元素不在重叠解决该bug

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            .box3{
                width: 200px;
                height: 199px;
                background-color: yellow;
                /*通过设置padding-top 让子元素与父元素不在重叠解决该bug*/
                padding-top:1px;
            }

            .box4{
                width: 100px;
                height: 100px;
                background-color: yellowgreen;
                /*
                 * 为子元素设置一个上外边距,是子元素的位置下移
                 */
                margin-top: 100px;
            }

        </style>
    </head>
    <body>
        <div class="box3">
            <div class="box4"></div>
        </div>
    </body>
</html>


预览效果:
image.png

相关文章

  • 13.margin垂直外边距的重叠,导致子父元素移动问题

    margin垂直外边距的重叠问题在网页中相邻的垂直方向的外边距会发生外边距的重叠所谓的外边距重叠指兄弟元素之间的相...

  • 前端知识点(7)

    完善 作用: 子元素和父元素相邻的垂直外边距会发生重叠,子元素的外边距会传递给父元素使用空table标签可以隔离父...

  • 2019-06-03(前端第七节知识点)

    完善clearfix: 子元素和父元素相邻的垂直外边距会发生重叠,子元素的外边距会传递给父元素 使用空的table...

  • 2019-06-03 完善clearfix,表单,框架集,css

    完善clearfix 子元素和父元素相邻的垂直外边距会发生重叠,子元素的外边距会传递给父元素 使用空的table标...

  • 表单

    子元素和父元素相邻的垂直外边距会发生重叠,子元素的外边距会传递给父元素使用空的table标签可以隔离父子元素的外边...

  • 表格的布局、完善、表单

    表格布局: 完善: 1、子元素和父元素相邻的垂直外边距会发生重叠,子元素的外边距会传递给父元素 2、使用空的tab...

  • 前端—高度塌陷和定位

    高度塌陷 : 块的格式化环境 BFC BFC (隐含的属性) 1.父元素的垂直外边距不会和子元素重叠; 2....

  • 解决高度塌陷,清除浮动,相对、绝对、固定定位

    解决高度塌陷: BFC特性: 1,父元素的垂直外边距不会和子元素重叠 2,开启BFC的元素不会被浮动元素所覆盖 3...

  • 高度塌陷、定位

    高度塌陷块的格式化环境 BFC BFC (隐含的属性) 1.父元素的垂直外边距不会和子元素重叠; 2.开启B...

  • 高度塌陷 3月 前端 05Day

    高度塌陷 块的格式化环境 BFC BFC (隐含的属性) 1.父元素的垂直外边距不会和子元素重叠; 2.开启BF...

网友评论

      本文标题:13.margin垂直外边距的重叠,导致子父元素移动问题

      本文链接:https://www.haomeiwen.com/subject/swrwfhtx.html