margin重叠,了解一下

104 阅读1分钟

前言

margin 和 padding 可谓是Css中基础的基础了

那么关于margin的一些细节,你是否了解呢,今天想简单介绍一下margin重叠。

现象

下面是代码和相应的展示效果:

image (1).png

image.png

margin重叠发生在 1,块级元素之间(可以是父子关系和兄弟关系) 2,垂直方向上。

我们看红色的方框,是第一个子div的margin范围。

注意细节:

1,它和父元素的margin是重叠的。

2,它和后面的div的margin也是重叠的。

那么是否有可能发生在水平反向上呢。答案是不会。因为多个块级元素,怎可能在同一行呢。

避免

那么如何避免呢。

  • 1,给父div添加 正的 padding,或者 正的 borderWidth
  • 2,使用position:absolute、fixed
  • 3,使用display: inline-block/talbe
  • 4,使用float
  • 5,使用overflow: hidden;(不是visible即可)

小伙伴们可以自行尝试。