issues
search
xinchanghao
/
one-day-in-the-future
有朝一日,起飞...
2
stars
1
forks
source link
margin 重叠问题(高度塌陷)
#38
Open
xinchanghao
opened
4 years ago
xinchanghao
commented
4 years ago
margin 重叠指的是在垂直方向上,两个相邻元素的 margin 发生重叠的情况。margin 必须是邻接的!margin 必须是邻接的!margin 必须是邻接的!
一般来说可以分为四种情形:
第一种是相邻兄弟元素的 marin-bottom 和 margin-top 的值发生重叠。这种情况下我们可以通过设置其中一个元素为 BFC来解决。
第二种是父元素的 margin-top 和子元素的 margin-top 发生重叠。它们发生重叠是因为它们是相邻的,所以我们可以通过这一点来解决这个问题。我们可以为父元素设置 border-top、padding-top 值来分隔它们,当然我们也可以将父元素设置为 BFC来解决。
第三种是高度为 auto 的父元素的 margin-bottom 和子元素的 margin-bottom 发生重叠。它们发生重叠一个是因为它们相邻,一个是因为父元素的高度不固定。因此我们可以为父元素设置 border-bottom、padding-bottom 来分隔它们,也可以为父元素设置一个高度,max-height 和 min-height 也能解决这个问题。当然将父元素设置为 BFC 是最简单的方法。
第四种情况,是没有内容的元素,自身的 margin-top 和 margin-bottom 发生的重叠。我们可以通过为其设置 border、padding 或者高度来解决这个问题。
margin 重叠指的是在垂直方向上,两个相邻元素的 margin 发生重叠的情况。margin 必须是邻接的!margin 必须是邻接的!margin 必须是邻接的!
一般来说可以分为四种情形: