码迷,mamicode.com
首页 > Web开发 > 详细

CSS系列-margin的BUG

时间:2020-04-02 22:40:00      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:tom   png   span   原因   otto   图片   col   swa   20px   

1. 塌陷现象(子元素设置margin-top, 父元素会塌陷) 

下面例子,此时子元素其实和父元素的距离是0,离父元素的兄弟节点才是100px

技术图片

   

  触发父元素的bfc, overflow: hidden, border :

解决方案1:父元素设置透明的 border:  1px solid transparent;  box-sizing: border-box;

解决方案2:父元素设置 overflow: hidden;

解决方案3:父元素设置 display: inline-block; width: 100%;

 

2.  margin 合并

a: 两个元素是兄弟关系,上面的一个元素的margin-bottom与下一个元素的margin-top取值为两者中最大值

技术图片

 

下面例子one和two的距离其实是200px,不是300px;

技术图片

   

  原因: 同一个bfc的两个相邻的box会发生margin重叠;

  解决: two用div包裹起来, 并且触发div的bfc(overflow: hidden), 

 

b: 两个元素是父子关系, 父子元素都有margin-top, 取最大那个

技术图片

 

例子:最终margin-top 是 20px;

技术图片

 

 解决方案: 和塌陷一样

 

CSS系列-margin的BUG

标签:tom   png   span   原因   otto   图片   col   swa   20px   

原文地址:https://www.cnblogs.com/vs1435/p/12622692.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!