bug:margin合并

demo1和demo2存在margin合并问题:
外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。
合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。
弥补方案:bfc;

  添加一个父级盒子做bfc:

.wrapper{
        overflow: hidden;
}

demo:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>margin合并</title>
    <style>
    *{margin: 0;padding: 0;}
    .box1{
        background-color: red;
        margin-right: 100px;
    }
    .box2{
        background-color: green;
        margin-left: 100px;

    }
    .demo1{
        background-color: red;
        margin-bottom: 100px;
    }
    .demo2{
        background-color: green;
        margin-top: 100px;
    }
    .wrapper{
        overflow: hidden;
    }
    </style>
</head>
<body>
    <!-- box1和box2是正常的margin相加 -->
    <span class="box1">123</span>
    <span class="box2">234</span>

    
    <!-- 添加一个父级盒子做bfc -->
    <div class="wrapper">
        <div class="demo1">1</div>
    </div>
    <!-- 添加一个父级盒子做bfc -->
    <div class="wrapper">
        <div class="demo2">2</div>
    </div>

    
    
    <script>
        /**
         *
         * demo1和demo2存在margin合并问题:
        外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。
        合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。
        解决方案:bfc;
         */
    </script>
</body>
</html>

转载于:https://www.cnblogs.com/liubeimeng/p/10642089.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值