详解css边距重叠的几种解决方案

今天整理了一下用css防止边距重叠的几种方法。

先假设一组dom结构

通常情况下,如果给子元素设置margin,就会产生这个属性对父元素也产生了同样的效果,然而

这其实不是我们想要的结果,我们只想对子元素设置margin,那么现在我们应该怎么做呢?

(1) 给父元素设置边框

(2)给父元素添加padding

(3)在子元素上方加一个有宽高的兄弟元素,记住是有宽高的。

(4)给父元素设置 overflow: hidden; 属性

(5)给子元素设置 display: inline-block;(如果子元素是行内元素或者行内块级元素则不会产生边距重叠的问题)

(6)使子元素脱离文档流这个实现的方法有很多,浮动,绝对定位等,这里我就不做具体的解释了。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190612A0BNE700?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券