margin塌陷问题
标签:
JavaScript
一:什么是margin塌陷
在标准文档流中,竖直方向的margin会出现叠加现象(水平方向不会塌陷),两个margin紧挨着,中间没有border或者padding
margin直接接触,就产生了合并
表现为较大的margin会覆盖掉较小的margin,竖直方向的两个盒子中间只有一个较大的margin,这就是margin塌陷现象
二:margin塌陷的分类
1、兄弟关系的盒子
2、父子关系的盒子
父子关系的盒子塌陷
<div class="onBox"> <div class="underBox"></div> </div> </body> *{ margin: 0; padding: 0; } .onBox{ width: 100px; height: 100px; background: cadetblue; margin-top: 100px; margin-left: 100px; /*border-top: 1px solid transparent;*/ /*padding-top: 1px;*/ /*overflow: hidden;*/ /*position: absolute;*/ /*position: fixed;*/ /*display: inline-block;*/} .underBox{ width: 50px; height: 50px; background: aquamarine; margin-top: 30px; margin-left: 30px; }
理想的结果:子盒子与父盒子有30px的margin
image.png
实际结果:父子margin重叠了,用了大的margin(100px)
image.png
三:解决方案
给父元素添加透明边框,至少添加
border-top:1px solid transparent
给父元素添加
padding-top:npx
给父元素添加
overflow:hidden
给父元素添加
position: absolute;
给父元素添加
position: fixed;
给父元素添加
display: inline-block;
作者:椰果粒
链接:https://www.jianshu.com/p/911c3d50873d
点击查看更多内容
4人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦