如何解决父子级元素外边距合并问题

什么是父子级元素外边距合并问题?
父子级元素外边距问题就是原本给子元素设置了margin-top,结果连带父元素也一起往下移,例如:

<style>
        .father{
            width: 200px;
            height: 200px;
            background-color: red;
        }
        .son{
            width: 50px;
            height: 50px;
            background-color: blue;
            margin-top: 100px;
        }
    </style>
    ...
    <div class="father">
        <div class="son"></div>
    </div>

在这里插入图片描述
如上图,给子元素设置margin-top后,不是子元素往下移,而是父元素也一起下来,感觉就像是把margin-top设置给了父元素,这就是父子级元素外边距合并问题。
解决方法:
1.给父元素设置边框
在父元素style标签内设置border: 1px solid;
结果如下:
在这里插入图片描述
2.给父元素或子元素设置浮动属性
在父元素或子元素的style标签内设置float: left;
结果与上图一样。
3.给父元素或子元素设置绝对定位属性
在父元素或子元素的style标签内设置position: absolute;/position: fixed;
4.给父元素设置overflow: hidden属性
在父元素style标签内设置overflow: hidden;
5.给父元素或子元素设置display: inline-block属性
在父元素或子元素的style标签内设置display: inline-block;
6.把原本设置给子元素的margin-top的值设置给父元素的padding-top
在父元素style标签内设置padding-top: 100px;
但是如果父元素是标准盒子,该方法会改变父元素的大小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值