关于CSS的外边距折叠问题

垂直外边距的折叠:

         父子元素间相邻外边距,子元素的会传递给父元素(比如上外边距)
   兄弟元素间的相邻垂直外边距取两个中大的那个值(两个正值取大,一正一负相加)

兄弟元素间的相邻垂直外边距取两个中大的那个值(两个正值取大,一正一负相加)

 <style>
        .box1{
        //有或者没有,两个色块间的距离都不变,如果是200px,那么这里会取200px。
        	margin-bottom:100px      	
            width: 200px;
            height: 200px;
            background-color: aqua;
        }

        .box2{
            margin-top: 100px;
            width: 200px;
            height: 200px;
            background-color: blueviolet;
        }
    </style>
<body>
    
    <div class="box1"></div>
    <div class="box2"></div>
</body>

在这里插入图片描述

父子元素间相邻外边距,子元素的会传递给父元素(比如上外边距)

 <style>
        .box1{
            width: 200px;
            height: 200px;
            background-color: aqua;
        }

        .box2{
            margin-top: 50px;
            width: 100px;
            height: 100px;
            background-color: blueviolet;
        }
    </style>

<body>
    
    
    <div class="box1">

        <div class="box2"></div>
    </div>
</body>

在这里插入图片描述
解决方式1、如果给.box1加个上边框的话就可以让它们外边距隔开;

解决方式2、把margin换成padding

但是这两种方式都很麻烦。下一节高度塌陷问题会给出更好的解决办法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值