CSS外边距塌陷

1 会产生塌陷的三种情况

1)相邻元素之间(上下相邻会塌陷,左右不会塌陷)

2)子元素紧贴父元素的最外边时,子元素的margin外边距会影响父元素

3)空的块元素中没有任何东西,则上下外边距折叠

2 解决方案

2.1 首先解释BFC:

BFC(Block Formatting Context)块级格式化上下文

概念:是在CSS的布局中的一个概念,是一个独立的区域,与外界不影响

作用:BFC是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面元素

①阻止元素被浮动元素覆盖

②可以包含浮动元素--------------将内部浮动的元素包含在块里,防止对外部产生影响(覆盖)

③解决上下块级元素外边距重叠

触发条件:

  【1】根元素,即HTML元素

  【2】float的值不为none

  【3】overflow的值不为visible

  【4】display的值为inline-block、table-cell、table-caption

  【5】position的值为absolute或fixed

2.2 问题一方案:

在其中一个子元素外面套一个div,用外面的div来触发BFC,就不会外边距重叠

2.3 问题二方案:

1. 给父元素设置padding,border(不让子元素边与父元素边完全重合就行)

2. 子元素overflow的值不为visible

2.4 问题三:

一般不会碰到这种情况

猜你喜欢

转载自blog.csdn.net/SKY_Lake/article/details/81664904