美文网首页
元素的外边距margin重叠问题

元素的外边距margin重叠问题

作者: 行不离书 | 来源:发表于2016-11-28 11:16 被阅读0次

第一种 ——经典的相邻marign重叠的问题

当一个元素出现在另一个元素上面时,第一个元素的下外边距与第二个元素的上外边距会发生合并。

边距重叠计算方式
a、全部都为正值,取最大者;
b、不全是正值,则都取绝对值,然后用正值减去最大值;
c、没有正值,则都取绝对值,然后用0减去最大值。

<style>
    *{
        margin:0;
        padding: 0;
    }
    .divout{
        width: 100px;
        height: 100px;
        background: yellow;
        margin-bottom: 50px;
        border: 1px solid black;
    }
    .divout1{
        width:50px;
        height: 50px;
        background: yellow;
        margin-top: 80px;
            /*float:left;*/
        /*position:absolute;*/
        border: 1px solid black;
    }
</style>
<body>
    <div class="divout">        
    </div>
    <div class="divout1">       
    </div>
</body>
边距重叠.png

解决办法:

1、 将元素设置为浮动 float:left;
2、 在设置margin-top/bottom值时统一设置上或下
3、 元素的position的值为absolute/fixed

第二种 ——元素和父元素margin值问题

父元素无 border、padding、inline content 、 clearance时,子元素的margin-top/bottom会与父元素的margin产生重叠问题。

<style>
    *{
        margin:0;
        padding: 0;
        color: black;
    }
    #parrent{
        width:300px;
        height:150px;
        margin-top: 20px;
        background:teal;
    }
    #box1{
        width:100px;
        height:100px;
        background:aqua;
        margin:100px 0;
    }
</style>
<body>
    <div id="parrent">
        <div id="box1">
        我是box1
        </div>
            我是内容
    </div>
</body>
子元素没设置margin值.png 子元素设置margin值.png

解决办法

1、外层元素padding代替
2、内层元素透明边框 border:1px solid transparent;
3、内层元素绝对定位 postion:absolute:
4、外层元素 overflow:hidden;
5、内层元素 加float:left;或display:inline-block;

6、内层元素padding:1px;
7、外层元素有边框
8、内层元素不是第一个元素;

注释:只有普通文档流中块框的垂直外边距才会发生外边距合并。行内框、浮动框或绝对定位之间的外边距不会合并。

相关文章

  • 盒子模型基本设置

    内边距:padding 外边距:margin 外边距重叠:外边距重叠.png 浮动:float 内联元素浮动: 内...

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

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

  • 04day

    内边距:padding 外边距:margin 外边距重叠: 浮动.png内联元素浮动:

  • 浮动。box

    盒子样式 内边距:padding 外边距:margin 外边距重叠: 浮动:float 内联元素浮动: 内联元素盒模型:

  • 元素的外边距margin重叠问题

    第一种 ——经典的相邻marign重叠的问题 当一个元素出现在另一个元素上面时,第一个元素的下外边距与第二个元素...

  • 第四天:外边距重叠、css背景设置、float浮动、伪元素

    一.外边距重叠 两个相邻盒子的外边距发生重叠时,外边距大的覆盖外边距小的盒子。 margin 可以设置负数,表现为...

  • 盒子模型简单布局

    外边距外边距是元素边框与周围元素相距的空间。使用margin属性可以设置外边距。使用margin-top/righ...

  • 外边距折叠 margin合拼 原理

    外边距折叠 margin合拼 外边距折叠(margin collapsing) 对于块级元素而言,其 上外边距 和...

  • margin-外边距重叠

    外边距重叠就是margin-collapse。 在CSS当中,相邻的两个盒子(可能是兄弟关系也可能是祖先关系)的外...

  • 外边距合并与BFC

    外边距合并## 块级元素的 上外边距(margin-top) 与 下外边距(margin-bottom) 有时会合...

网友评论

      本文标题:元素的外边距margin重叠问题

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