后浪 · 正青春

magin边界塌陷与重叠

2021-05-30  本文已影响0人  xiaohei6856

magin边界塌陷问题:

margin-topCSSmargin-topbodymargin-top

    父元素没有设置margin-top,而子元素设置了margin:50px 70px;可以看出,父元素也一起有了上边距。

造成这种原因是

父子嵌套元素在垂直方向的margin,父子元素是结合在一起的,他们两个的margi会取其中最大的值.

正常情况下,父级元素应该相对浏览器进行定位,子级相对父级定位.但由于margin的塌陷,父级相对浏览器定位.而子级没有相对父级定位,子级相对父级,就像坍塌了一样.

解决这类问题的办法是:

    1.给父元素设置外边框(border)或者内边距(padding)

    2.触发BFC

        1.子元素或者父元素的float不为none

        2.子元素或者父元素的position不为relativestatic

        3.父元素的overflowautoscrollhidden

        4.父元素的display的值为table-cellinline-block


还有一种是垂直方向上兄弟级边界重合问题:


解决方案

        1.只设置其中一个元素的margin值即可

        2.给两个元素都设置父元素,触发BFC

上一篇 下一篇

猜你喜欢

热点阅读