设置margin-top值时变化
当给box1设置margin-top:100px时,box2也设置margin-top:100px,只有父元素相对于浏览器向下了100px,而子元素相对于父元素的位置并未改变
但是当给子元素设置的margin-top:150px,大于父盒子高度时,子元素就会不再相对于父元素定位了而是带着父元素一起相对于浏览器定位向下移动150px
由上述内容我们可以知道什么是margin塌陷
margin 塌陷
margin 塌陷是在父级相对于浏览器进行定位时但子级没有相对于父级定位,
子级相对于父级就像塌陷了一样
父子嵌套元素垂直方向的 margin,父子元素是结合在一起的,他们两个会取其中最
大的值
解决margin塌陷的方法
实质就是触发盒子的bfc(block format context块级格式化上下文)来改变父级元素的渲染规则
方法一
position:absolute;
设置相对定位
通过给父元素增加一个相对定位的属性来解决margin塌陷问题
方法二
display:inline-block;
设置成行块级元素
方法三
float:left和float:right;
利用浮动来改变样式
方法四
overflow:hidden
溢出盒子的部分隐藏展示
总结:以上就是本篇文章的内容了。希望对大家有所帮助。
以上就是如何解决margin塌陷问题的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
更多相关阅读请进入《margin塌陷》频道 >>

Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者