`
xhuang
  • 浏览: 30627 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

css之margin collapse(外边距叠加)

 
阅读更多

首先抛出问题:

  • stackoverfow:
  1. Margin on child element moves parent element

  2. Child elements with margins within DIVs

其实: 以上问题都源于css中的margin collapse,即外边距叠加。 以下内容源于css mastery second edition。

margin collapse发生的条件有,处于normal flow(正常文档流,而非postion: float || absolute),block元素间的垂直margin(margin-top, margin-bottom)。所以可以改变元素的定位(增加float属性或position: absolute)来取消margin collapse.

 

下面是margin collapse的几种情况:

1. 上下两div(上定义有margin-bottom, 下有margin-top): 叠加取较大的margin值



 2. margin collapse发生在父元素和子元素之间,前提是垂直边距间不存在padding(内边距)和边框。所以可以通过增加padding属性,或边框,防止叠加。如例子者也。



 3. margin collapse会发生在定义有垂直外边距的空元素,如下图



  叠加也是连续的:




以上是margin collapse发生的几种情况。

其实 margin collapse 的存在有他自身的意义:


 补充:margin边界叠加问题以及ie和Firefox的不同解释

 

 

 

  • 大小: 46.1 KB
  • 大小: 34.1 KB
  • 大小: 22.1 KB
  • 大小: 28.5 KB
  • 大小: 72.9 KB
0
4
分享到:
评论

相关推荐

    CSS margin(外边距)

    CSS margin(外边距) CSS margin(外边距)属性定义元素周围的空间。 margin margin 清除周围的(外边框)元素区域。margin 没有背景颜色,是完全透明的。 margin 可以单独改变元素的上,下,左,右边距,也可以一次...

    css中margin的缩写

    其中,`margin`属性是CSS中最常用的一个属性之一,用于设置元素外边距,即元素与其他元素之间的空白距离。为了简化CSS代码编写过程,提高代码可读性及维护性,CSS允许对`margin`属性进行缩写。 #### Margin属性的...

    CSS外边距叠加的问题,CSS教程

    今天谈谈CSS外边距叠加的问题,边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。  在进行CSS网页布局时会遇到许多奇怪的问题,这些问题可能是浏览器的bug,也可能是我们对CSS属性不够了解,虽然...

    CSS的margin和padding

    垂直外边距合并(Margin collapsing)是一个CSS布局中的特性,当两个或多个相邻的垂直外边距相遇时,它们会合并为其中的最大值。这在处理元素间距时可能会带来意外的结果。例如,当一个元素的第一个子元素具有`...

    简单的CSS叠加外边距示例

    CSS外边距叠加概念是指在CSS布局中,垂直方向上的相邻元素外边距会在计算时发生重叠现象,而不是简单的算术相加。这种现象在文档流中的块级元素中非常常见,尤其是在没有浮动、定位、内联块元素或表格显示类型的元素...

    盒模型的介绍,以及margin(外边距)padding(内边距)的使用.zip

    4. **外边距(Margin)**:边框之外的空间,用于调整元素与其他元素之间的距离。`margin`属性用于设置外边距,同样有上、右、下、左四个方向。 在CSS中,有两种盒模型:标准盒模型(W3C盒模型)和IE盒模型(怪异盒...

    CSS border-collapse 属性

    CSS border-collapse 属性

    CSS外边距合并代码

    在CSS布局中,外边距(Margin)是一个重要的概念,它指的是元素边框之外的空白区域,用于控制元素之间的空间。外边距合并是CSS布局中一个常见的现象,特别是涉及到元素垂直排列时。当我们为相邻元素设置外边距时,...

    如何解决外边距margin叠加的问题探讨

    在CSS布局中,经常会遇到块级元素垂直外边距(margin)发生叠加的问题,这通常称为margin叠加或外边距折叠。当两个或多个毗邻的块级元素垂直方向上的margin相遇时,它们会以较大者的margin值作为一个统一的margin值...

    css中margin属性详细分析 (2).pdf

    在CSS样式设计中,margin属性是不可或缺的一部分,它用于定义元素周围的空白区域,也就是我们常说的外边距。通过合理使用margin,我们可以精确地控制元素之间的距离,从而达到良好的视觉效果和布局效果。本文将深入...

    margin(CSS语法)-.rar

    `margin-collapse`是另一个与`margin`相关的概念,它描述了相邻元素之间外边距如何合并。当两个垂直或水平相邻的元素具有相同的外边距时,它们的外边距可能不会简单相加,而是取其中较大的那个。通过`margin-...

    css中margin属性详细分析.pdf

    在CSS中,margin可以通过单独的属性设置,如`margin-top`、`margin-right`、`margin-bottom`和`margin-left`,或者使用简写的`margin`属性一次性设置所有方向的外边距。例如,`margin: 10px 20px 30px 40px;`表示...

    CSS重要属性之 margin 属性知识大整合(必看篇)

    CSS中的margin属性是控制元素外边距的重要工具,它能够影响元素与其它元素间的距离,从而对页面布局产生影响。本文将详细梳理margin属性相关的核心知识点。 首先,margin属性是CSS中非常重要的一个属性,它允许...

    Css中内边距、边框和外边距的关系.docx

    在CSS(层叠样式表)中,内边距(Padding)、边框(Border)和外边距(Margin)是布局和设计网页时不可或缺的概念。它们共同决定了元素在页面上的显示方式以及元素之间的空间关系。 首先,元素框的内部是内容区...

    外边距+内边距

    在网页布局中,`margin`(外边距)和`padding`(内边距)是非常重要的概念。它们主要用于控制元素与其周围元素之间的空间,是CSS中最常用也是最基本的属性之一。接下来,我们将详细探讨这两种属性的特点、用法及其在...

    CSS 之margin知识点(必看)

    例如,若容器宽度为800px,且子元素的margin设置为10%,则该子元素的外边距计算为800px的10%,即80px。这一规则适用于所有普通元素,不包含浮动(float)和绝对定位(absolute)的元素。 2. 绝对定位元素的百分比...

    浅谈css margin重叠

    父子元素margin重叠 ...以上这篇浅谈css margin重叠就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 原文地址:http://www.cnblogs.com/lj1028/p/5683253.html

    css 空白外边距互相叠加的解决方法

    在CSS布局中,"空白外边距互相叠加"是一个常见的问题,它涉及到元素之间的外边距合并规则。当两个或多个块级元素的外边距相邻时,它们的垂直外边距并不简单相加,而是取其中的最大值作为最终的外边距。这在某些情况...

    常用技巧margin负外边距的使用介绍

    CSS中的负外边距(negative margin)是一种强大的布局技巧,对于前端开发者来说是不可或缺的知识点。负外边距能够使元素在文档流中产生偏移,但与相对定位不同,它不会占据原本的空间,而是会让后面的元素填充这些...

Global site tag (gtag.js) - Google Analytics