资讯专栏INFORMATION COLUMN

CSS盒子模型中外边距(margin)折叠详解

genefy / 3056人阅读

摘要:盒子模型中外边距折叠的常见情形有如下种情况无子元素的相邻兄弟元素触发折叠的条件两个元素之间没有被其他非空元素隔开时触发外边距折叠。

最近写项目过程中遇到一个CSS盒子模型中外边距(margin)折叠的情况,搞得我焦头烂额,之后再网上查阅了大量的资料,现做一个整理和总结,方便以后忘记的时候查阅,同时也供广大网友参考。如有错误或者总结方面不全的地方,欢饮广大网友指出。

外边距折叠的概念:所谓外边距折叠就是相邻的两个或多个元素(含有子元素的情况)的外边距会在垂直方向上合并成一个一个外边距。

CSS盒子模型中外边距(margin)折叠的常见情形有如下2种:

情况1、无子元素的相邻兄弟元素

触发margin折叠的条件:两个元素之间没有被其他非空元素隔开时触发外边距折叠。

情形说明:
1)如果两个元素的margin均为正值,则两个元素之间的margin=max(margin1,margin2);
附图说明:

2)如两个元素的margin负值,则两者之间的margin=min(margin1,magin2),如图2 所示;
附图说明:

3)如果两个元素中有margin为正值,有一个为负值,则两者之间的margin=margin1+margin2,如图三中所示margin=-50px+25px=-25px;

情况2、子元素与父元素发生外边距折叠

触发条件:父元素无外边框(border)、无内边距(padding),且父元素与子元素之间无非空元素或文本信息时(子元素上边与父元素上边之间无非空元素文本信息,子元素下边与父元素下边之间可可以有非空元素和文本信息),折叠的基线为父元素最上的边或最下的边。
情形说明:
1)若父元素与子元素的margin值均为正,则折叠后的margin=max(margin1,margin2),如图四所示。
附图说明:

2)若父元素与子元素的margin值均为负,则折叠后的margin=min(margin1,margin2),如图五所示。

3)若父元素与子元素的margin其中有一个为正值,一个为负值,则折叠后的margin=minmargin1+margin2,如图六所示。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/112368.html

相关文章

  • CSS盒子模型外边margin折叠详解

    摘要:盒子模型中外边距折叠的常见情形有如下种情况无子元素的相邻兄弟元素触发折叠的条件两个元素之间没有被其他非空元素隔开时触发外边距折叠。 最近写项目过程中遇到一个CSS盒子模型中外边距(margin)折叠的情况,搞得我焦头烂额,之后再网上查阅了大量的资料,现做一个整理和总结,方便以后忘记的时候查阅,同时也供广大网友参考。如有错误或者总结方面不全的地方,欢饮广大网友指出。 外边距折叠的概念:所...

    wmui 评论0 收藏0
  • CSS概念【记录】

    摘要:语法规则注释层叠优先级继承值块格式化上下文盒模型层叠上下文可替换元素外边距合并包含块视觉格式化模型布局模式语法属性值声明声明块规则规则集规则规则一个语句定义样式表使用的字符集告诉引擎引入一个外部样式表嵌套规则如果满足媒介查询的条件则条件规则 1、CSS语法 2、@规则 3、注释 4、层叠 5、优先级 6、继承 7、值 8、块格式化上下文 9、盒模型 10、层叠上下文 11、可替换元素 12、...

    番茄西红柿 评论0 收藏0
  • 详解css外边折叠margin collapsing)

    摘要:这个例子就是外边距折叠块级元素的上外边距和下外边距有时会合并或折叠为一个外边距。 外边距折叠指的是毗邻的两个或多个外边距 (margin) 会合并成一个外边距,本文详细的介绍了一下css外边距折叠的实现,分为3种情况,非常具有实用价值,需要的朋友可以参考下 前文 这是的一个经典的老问题,因为之前刚好有读者朋友问到,顺便整理一下。 从一个简单例子说起 先看一个简单示例: `` `.sli...

    孙吉亮 评论0 收藏0
  • 详解css外边折叠margin collapsing)

    摘要:这个例子就是外边距折叠块级元素的上外边距和下外边距有时会合并或折叠为一个外边距。 外边距折叠指的是毗邻的两个或多个外边距 (margin) 会合并成一个外边距,本文详细的介绍了一下css外边距折叠的实现,分为3种情况,非常具有实用价值,需要的朋友可以参考下 前文 这是的一个经典的老问题,因为之前刚好有读者朋友问到,顺便整理一下。 从一个简单例子说起 先看一个简单示例: `` `.sli...

    J4ck_Chan 评论0 收藏0
  • 详解css外边折叠margin collapsing)

    摘要:这个例子就是外边距折叠块级元素的上外边距和下外边距有时会合并或折叠为一个外边距。 外边距折叠指的是毗邻的两个或多个外边距 (margin) 会合并成一个外边距,本文详细的介绍了一下css外边距折叠的实现,分为3种情况,非常具有实用价值,需要的朋友可以参考下 前文 这是的一个经典的老问题,因为之前刚好有读者朋友问到,顺便整理一下。 从一个简单例子说起 先看一个简单示例: `` `.sli...

    levy9527 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<