外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。

合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。

1、外边距合并

外边距合并(叠加)是一个相当简单的概念。但是,在实践中对网页进行布局时,它会造成许多混淆。

简单地说,外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。

当一个元素出现在另一个元素上面时,第一个元素的下外边距与第二个元素的上外边距会发生合并。请看下图:

<html>
<head><style type="text/css">
* {margin:0;padding:0;border:0;
}#d1 {width:100px;height:100px;margin-top:20px;margin-bottom:20px;background-color:red;
}#d2 {width:100px;height:100px;margin-top:10px;background-color:blue;
}</style>
</head><body><div id="d1">
</div><div id="d2">
</div><p>请注意,两个 div 之间的外边距是 20px,而不是 30px(20px + 10px)。</p>
</body>
</html>


当一个元素包含在另一个元素中时(假设没有内边距或边框把外边距分隔开),它们的上和/或下外边距也会发生合并。请看下图:

<html>
<head>
​
<style type="text/css">
* {margin:0;padding:0;border:0;
}
​
#outer {width:300px;height:300px;background-color:red;margin-top:20px;
}
​
#inner {width:50px;height:50px;background-color:blue;margin-top:10px;
}
​
</style>
</head>
​
<body>
​
<div id="outer"><div id="inner"></div>
</div>
​
<p>注释:请注意,如果不设置 div 的内边距和边框,那么内部 div 的上外边距将与外部 div 的上外边距合并(叠加)。</p>
</body>
</html>


尽管看上去有些奇怪,但是外边距甚至可以与自身发生合并。

假设有一个空元素,它有外边距,但是没有边框或填充。在这种情况下,上外边距与下外边距就碰到了一起,它们会发生合并:

如果这个外边距遇到另一个元素的外边距,它还会发生合并:

这就是一系列的段落元素占用空间非常小的原因,因为它们的所有外边距都合并到一起,形成了一个小的外边距。

外边距合并初看上去可能有点奇怪,但是实际上,它是有意义的。以由几个段落组成的典型文本页面为例。第一个段落上面的空间等于段落的上外边距。如果没有外边距合并,后续所有段落之间的外边距都将是相邻上外边距和下外边距的和。这意味着段落之间的空间是页面顶部的两倍。如果发生外边距合并,段落之间的上外边距和下外边距就合并在一起,这样各处的距离就一致了。

注释:只有普通文档流中块框的垂直外边距才会发生外边距合并。行内框、浮动框或绝对定位之间的外边距不会合并。

5、CSS 外边距合并相关推荐

  1. CSS外边距合并问题以及方法

    外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距. 合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者. 只有普通文档流中块框的垂直外边距才会发生外边距合并.行内框.浮动框或绝 ...

  2. CSS外边距合并和CSS清除浮动

    外边距合并 外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距.合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者. 外边距合并(叠加)是一个相当简单的概念.但是,在实践中对网页 ...

  3. html外边距合并,CSS 外边距合并问题

    小鸡炖蘑菇炖小鸡 你好:外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距.合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者.外边距合并外边距合并(叠加)是一个相当简单的概念. ...

  4. css 外边距合并问题

    外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距. 合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者. 外边距合并 外边距合并(叠加)是一个相当简单的概念.但是,在实践中对网 ...

  5. 浅谈CSS外边距合并

    外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距. 一.发生外边距合并的三种情况: 1.相邻兄弟元素 eg1: #div1 {width: 100px;height: 100px;mar ...

  6. html css外边距,CSS外边距合并

    块的顶部外边距和底部外边距有时被组合(折叠)为单个外边距,其大小是组合到其中的最大外边距,这种行为称为外边距塌陷(margin collapsing),有的地方翻译为外边距合并. 发生外边距塌陷的三种 ...

  7. html设置外边距不合并,CSS外边距合并代码

    请看下面的图,就对边距的理解很清晰了. 我习惯把 图中所示的margin边界称为外边距,padding填充部分称之为内边距.设置外边距最好的一个方法就是设置margin值,同理,设置内边距的最好 办法 ...

  8. css外边距自动代码,CSS外边距合并代码

    请看下面的图,就对边距的理解很清晰了. 我习惯把 图中所示的margin边界称为外边距,padding填充部分称之为内边距.设置外边距最好的一个方法就是设置margin值,同理,设置内边距的最好 办法 ...

  9. 【温故知新】CSS学习笔记(外边距合并)

    CSS外边距合并 外边距合并 使用margin定义块元素的垂直外边距时,可能会出现外边距的合并. 一.相邻块元素垂直外边距的合并 当上下相邻的两个块元素相遇的时候,如果上面的元素有下外边距margin ...

最新文章

  1. 规格选项表管理之查询获取规格选项表列表数据
  2. 利用查找替换批处理(附完整源码),进行高效重构
  3. Python编程语言学习:两行代码输出根目录下所有子文件夹的绝对路径、相对路径
  4. 中学计算机课的现状和感受,中小学信息技术课程的现状与发展.doc
  5. 15行代码AC——习题5-5 复合词(Compound Words, UVa 10391)——解题报告
  6. ubuntu下安装android ndk
  7. android listview remove 动画,给Android ListView添加删除item动画
  8. 【Elasticsearch】使用 Elasticsearch Freeze index API 创建冻结索引
  9. Oracle-SQL程序优化4
  10. Builder模式的误区:将复杂对象的构建进行封装,就是Builder模式了吗?
  11. 广数25i系统倒刀回刀m代码_广数系统指令
  12. Javaweb实现简易的留言板项目
  13. matlab高斯滤波器
  14. Python各类常用库整理
  15. [轉載]【京都动画统治世界】短篇科幻小说《2134动漫奇缘》
  16. python输出百分比
  17. 使用CefSharp开发一个12306“安心刷票弹窗通知”工具
  18. 重磅!罗振宇跨年演讲:扎心5问
  19. moment判断日期时间是否在另一个日期时间之前
  20. Niagara N4 与物联网的学习经验分享(一 New Station)

热门文章

  1. ML之kNN:k最近邻kNN算法的简介、应用、经典案例之详细攻略
  2. DL:基于sklearn的加利福尼亚房价数据集实现GD算法
  3. hacker:Python通过对简单的WIFI弱口令实现自动实时破解
  4. Py之pyecharts:python包之数据可视化包pyecharts简介、安装、使用方法之详细攻略
  5. advanced installer重新打包教程
  6. 浅谈JS的数组遍历方法
  7. quick 关于触摸的问题
  8. 放苹果问题 POJ 1664
  9. rtmp服务器与播放器的交互
  10. python调用电脑蜂鸣器一直响_电脑开机蜂鸣器一直响,9声滴~,什么问题?怎么处理?...