`
xhuang
  • 浏览: 30844 次
  • 性别: 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扮演着至关重要的角色,其中外边距(margin)的管理是布局中不可忽视的一部分。外边距叠加(Margin Collapsing)现象是初学者和经验丰富的开发者都会遇到的问题,它描述了在特定条件下,垂直...

    Css中margin属性详细解析中文最新版本

    本文档主要讲述的是Css中margin属性详细解析;CSS 边距属性定义元素周围的空间。...margin通过使用单独的属性,可以对上、右、下、左的外边距进行设置。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看

    CSS的margin和padding

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

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

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

    css中margin属性详细分析.docx

    垂直外边距合并(Margin Collapsing)是CSS布局中一个特殊的规则。当两个相邻的垂直外边距相遇时,它们会合并为较大的那个值,而不是简单地相加。这个问题在处理元素间的间距时尤其需要注意,比如在布局中,第一个子...

    CSS border-collapse 属性

    CSS border-collapse 属性

    CSS外边距合并代码

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

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

    在CSS布局中,经常会遇到块级元素垂直外边距(margin)发生叠加的问题,这通常称为margin叠加或外边距折叠。当两个或多个毗邻的块级元素垂直方向上的margin相遇时,它们会以较大者的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中非常重要的一个属性,它允许...

    外边距+内边距

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

    浅谈css margin重叠

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

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

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

    解决margin 外边距合并问题

    在网页布局设计中,CSS(层叠样式表)的margin外边距合并是一个常见的问题,尤其是在元素间的间距处理上。这种现象通常被称为“外边距塌陷”(Margin Collapsing),它涉及到相邻或嵌套元素的外边距计算方式。下面...

    css中padding、margin两个重要属性的详细介绍及举例说明

    ### CSS中的Padding与Margin属性详解 #### 一、引言 在前端开发中,CSS(层叠样式表)是用于定义HTML文档外观的核心技术之一。其中,`padding`与`margin`是两个至关重要的属性,它们直接影响着网页元素的空间布局...

    Css padding和margin区别

    这个一个CSS padding和margin的例子,对初学者很有帮助的哦~ .divcss3{border:1px solid #F00;width:400px;margin-left:15px; padding-left:35px;} .box2 { margin-left:10px; padding-left:15px; width:300px...

    CSS中如何解决外边距塌陷问题

    首先我们先看出现外边距塌陷的三种情况: 1.当上下相邻的两个块级元素相遇,上面的元素有下边距margin-bottom,下面的元素有上边距margin-top,则它们之间的垂直距离取两个值中的较大者。 <style> .box1 { ...

    CSS中margin边界叠加问题及解决方案

    **CSS中的Margin边界叠加问题详解** 在CSS布局中,元素之间的间距往往受到margin的影响,而margin边界叠加(Margin Collapsing)是CSS布局中的一个重要概念,它可能导致元素间的间距不符合预期。理解并掌握这一概念...

Global site tag (gtag.js) - Google Analytics