多情况下的边界塌陷问题

来源:互联网 发布:linux c服务器端开发 编辑:程序博客网 时间:2024/05/19 06:17
情况一:相邻块级容器的上下边距塌陷,这种实际遇到的少,因为不是非要都设置上下边距
解决方法有2(欢迎补充):
1.将块级设置为浮动
2.使用padding来实现同样的表现效果
情况二:父级容器和子级容器的上边距塌陷
解决方法有3: 
1.父级设置border,可以设置为透明,
2.父级设置padding-top
3.父级设置overflow属性,触发bfc
补充:块级元素和浮动元素是没有边界塌陷,但是在浮动元素之后再来一个块级元素,那么尽管浮动元素在中间,还是会存在边界塌陷,因为浮动元素已经是脱离文档流的,如下图左
此时当浮动元素后的块级元素清除浮动,只要浮动元素的高度撑不开两个块级容器的margin,那么还是存在塌陷的,如上图右,所以实质上说,两个块级容器之间的浮动元素并不是根本上解决边界塌陷问题,只是浮动与块级元素之间不会存在边界塌陷问题,利用这个原理,采用清除浮动的方法,用浮动元素撑开边距占位,当浮动元素没有大到足以分开BFC中的相邻盒子时,相邻盒子的垂直margin还是会重叠的。


原创粉丝点击