margin 重叠(margin collapse)

首先有两个地方是我自己以前也没有注意的

  • 非替换元素的内联元素(<span>, <code>等), 设置上下 margin 没有用. 但是设置左右 margin 是有效果的. 而替换元素(<img> 等), 设置上下左右四个 margin 都有效果

  • 其次就是只有上下 margin 会发生重叠(这个说法不严谨, 后面会解释).

进入正题, 上下 margin 重叠时, 谁的值(绝对值)更大最终的 margin 大小就是谁的值. 如果上下 margin 大小相同也是这样.

margin 重叠的三种情况

相邻的兄弟节点

<div class="box"><div style="margin-bottom: 1rem;">123</div><div style="margin-top: 2rem;">abc</div>
</div>
.box {border: 1px solid;
}

最终合并的 margin 大小为 2rem

如果想阻止这种情况 margin 合并很简单, 就是破坏相邻这个条件, 因为两个都是块元素, 给他们中间增加 <br/> 换行就可以啦

CSS margin 重叠(margin collapse)相关推荐

  1. CSS外边距(margin)重叠及防止方法

    #css外边距margin重叠及防止方法CSS外边距(margin)重叠及防止方法 #1-什么是外边距margin重叠1. 什么是外边距(margin)重叠 外边距重叠是指两个或多个盒子(可能相邻也可 ...

  2. [css] position跟margin collapse这些特性相互叠加后会怎么样?

    [css] position跟margin collapse这些特性相互叠加后会怎么样? 怎样防止外边距重叠?底部元素脱离文档流(float: left/right || position: abso ...

  3. css margin为什么重叠,CSS 外边距(margin)重叠及防止方法

    边界重叠是指两个或多个盒子(可能相邻也可能嵌套)的相邻边界(其间没有任何非空内容.补白.边框)重合在一起而形成一个单一边界. 两个或多个块级盒子的垂直相邻边界会重合.结果的边界宽度是相邻边界宽度中最大 ...

  4. CSS 外边距(margin)重叠及防止方法

    边界重叠是指两个或多个盒子(可能相邻也可能嵌套)的相邻边界(其间没有任何非空内容.补白.边框)重合在一起而形成一个单一边界. 两个或多个块级盒子的垂直相邻边界会重合.结果的边界宽度是相邻边界宽度中最大 ...

  5. margin重叠问题

    margin重叠 CSS中,两个或者多个盒(可能但不一定是兄弟)的相邻的margin会被结合成一个margin.Margin按这种方式结合叫重叠(collapse) ,产生的结合的margin叫做重叠 ...

  6. margin重叠 及防止方法

    注:本文转载自(http://www.hujuntao.com/web/css/css-margin-overlap.html) 前段时间辞职了,然后一直处于求职的状态,面试的第一家公司是一家初创公司 ...

  7. 图解CSS的padding,margin,border属性

    图解CSS的padding,margin,border属性(详细介绍及举例说明) 图解CSS的padding,margin,border属性 W3C 组织建议把所有网页上的对像都放在一个盒(box)中 ...

  8. CSS 外补白(Margin) 内补白(Padding) 边框属性 定位(positioning)属性 布局(layout)属性

    CSS 布局(Layout) Properties 属性 CSS Version 版本 Inherit From Parent 继承性 Description 简介 display CSS1/CSS2 ...

  9. 4、CSS 外边距margin

    围绕在元素边框的空白区域是外边距.设置外边距会在元素外创建额外的"空白". 设置外边距的最简单的方法就是使用 margin 属性,这个属性接受任何长度单位.百分数值甚至负值. CS ...

最新文章

  1. 你需要知道的Xcode Debug功能
  2. java 静态 二维数组 转化hashmap_将一个二维数组转换为 hashmap 哈希表
  3. linux文件系统启动流程,linux 内核启动过程以及挂载android 根文件系统的过程
  4. 印度HCL揭秘云计算五大盈利模式
  5. PHP 利用Mail_MimeDecode类提取邮件信息
  6. TensorFlow 加载多个模型的方法
  7. [小技巧][JAVA][转换]字符数组char[]与字符串String之间互相转换
  8. mongodb从2.6迁移到3.0过程
  9. [one day one question] GIF动画为什么只动一次不能循环
  10. ZooKeeper(四)ZooKeeper的简单使用
  11. C++学生信息管理系统2.0
  12. 300.最长上升子序列
  13. java数字的实验怎么做_java实验题目
  14. ASO优化:ios关键词覆盖和增量技巧
  15. 从中医的角度认识感冒
  16. Kafka概述(二)进阶知识
  17. 保险基本概念测试人员须知(一)
  18. 网投简历应该注意些什么
  19. 历代华为Mate系列主要参数对比,更新于2020年11月
  20. c语言ni保存成tdms文件,使用C++读写TDM以及TDMS文件

热门文章

  1. react-native 为本地js和开源库的js编写.d.ts声明文件
  2. 电脑提示msvcp120.dll丢失解决步骤(win系统)
  3. SMBUS的介绍与访问
  4. Web前端学习之Web设计与Web开发
  5. Visio标注、批注位置
  6. html异步加载页面,Jquery异步加载页面(load)
  7. matlab如何打开dcm_MATLAB结合Unreal Engine构建用以自动驾驶仿真测试的逼真驾驶场景...
  8. 12306登录python_Python模拟登录12306
  9. Visual Studio中无法打开源文件
  10. 批量去除PDF水印 —— quicker 键鼠模拟操作