问题概述
对于两个嵌套关系的块级元素,如果父元素没有设置上内边距或边框,那么父元素的上外边距会与子元素的上外边距发生合并,合并之后的外边距为两者中的较大者。因此,当给子元素设置外边距时,会同时导致父元素一起往下偏移,引发塌陷问题。
问题解决
方法1:为父元素定义上边框
方法2:为父元素定义上内边距
方法3:为父元素添加overflow:hidden
方法4:为父元素或子元素设置浮动:float:left
方法5:为父元素或子元素添加绝对定位:position:absolute
注:浮动元素、绝对定位(固定定位)元素都不会触发外边距合并的问题。