关于父元素兜不住子元素的margin

要实现的效果:


得到的效果:


直接原因:可以看到,在这里,父元素没有兜住子元素的margin-top,但祖元素兜住了子元素的margin-top,父元素祖元素的区别是祖元素有边框

根本原因:由于父元素没有边框(或内间距),导致父元素的盒模型没有边界,兜不住子元素margin

解决方法:给子元素一个高度为1px的哥哥元素:


其他解决办法:

1、为父元素增加padding-top样式(padding-top:1px) 

2、为父元素添加overflow:hidden;样式即可

3、为父元素或者子元素声明浮动(float:left) 

4、为父元素添加border(border:1px solid transparent) 

5、为父元素或者子元素声明绝对定位

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。