margin的重叠现象

当两个相邻的普通元素设置margin时,则它们的间距并不是简单的外边距相加。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>margin的重叠现象</title>
</head>
<style>
    #div1{
        height: 100px;
        margin-bottom:50px; 
        background: blue;
    }
    #div2{
        height: 100px;
        margin-top: 50px;
        background: green;
    }
</style>
<body>
    <div id="div1"></div>
    <div id="div2"></div>
</body>
</html>

效果如下:

两个div的高度是100px,明显间距不是50px+50px

原因是当两个相邻普通元素设置margin时,实际它们之间的外边距满足其中设置外边距较大的一方。当然同时肯定满足设置外边距较小的一方。

这种重叠现象不值发生在兄弟元素之间,父子元素也会发生重叠现象。

原文地址:https://www.cnblogs.com/yoran-yang/p/5299424.html