css中常见margin塌陷问题之解决办法

css中常见margin塌陷问题之解决办法 - 小奔的早晨 - 博客园

当两个盒子在垂直方向上设置margin值时,会出现一个有趣的塌陷现象。

①垂直并列

首先设置两个DIV,并为其制定宽高

.box1 {

margin-bottom:100px;

}

.box2 {

margin-top:50px;

}


两盒子之间的距离仅是50px,也就是说两盒子之间的margin出现了重叠部分,故而我们可以得出:垂直之间塌陷的原则是以两盒子最大的外边距为准。(跟margin-left 没有关系,只跟垂直有关系);


②嵌套关系(父级元素塌陷)

.father {

}

.son {

margin-top:50px;

}

当为子盒子添加margin-top:50px;时会发生如下情况:


 子盒子和父盒子之间并没出现期望的10px间隙而是父盒子与子盒子一起与页面顶端产生了10px间隙(即父级盒子往下塌陷了10px)。


解决方法:

(1)为父盒子设置border,为外层添加border后父子盒子就不是真正意义上的贴合  (可以设置成透明:border:1px solid transparent)。

(2)为父盒子添加overflow:hidden;

(3)为父盒子设定padding值;

(4)为父盒子添加position:fixed;

(5)为父盒子添加 display:table;

(6)利用伪元素给子元素的前面添加一个空元素:

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

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,839评论 1 92
  • 一、CSS入门 1、css选择器 选择器的作用是“用于确定(选定)要进行样式设定的标签(元素)”。 有若干种形式的...
    宠辱不惊丶岁月静好阅读 1,644评论 0 6
  • 什么是盒子? CSS处理网页时,它认为每个元素都包含在一 个不可见的盒子里。 我们只需要将相应的盒子摆放到网页中相...
    咻咻咻滴赵大妞阅读 941评论 0 0
  • 1、什么是“ Margin塌陷(重叠) ”? 在标准文档流中,竖直方向(是竖直方向,水平方向的不会出现塌陷现象)的...
    DannyCloud阅读 5,305评论 0 3
  • 作为一名DBA,在工作中会经常遇到一些MySQL主从同步延迟的问题,这些同步慢的问题,其实原因非常多,可能是因为主...
    飞鸿无痕阅读 20,539评论 11 28