`

margin外边距合并的问题

阅读更多

在我初学css的时候,关于css盒模型的外边距合并问题,迷惑了我很久。在写demo的时候,我只是尽量避免两个div外边距合并,怕出现各种各样匪夷所思的bug。

       工作不久,经过几个项目的洗礼,这个以前让我迷惑的问题,终于有了深刻的理解。

        我对其总结如下:

        一、当一个div在另一个div里,两个div都有margin的属性,想让这两个div不出现外边距合并的问题,必须给外层div添加border属性或者overflow:hidden属性;如果允许其出现外边距合并,内层div始终保持原位置,而外层div的margin属性会取两者的最大值。

        例: 1.不允许出现外边距合并,给外层div添加overflow:hidden或border属性:外层盒子margin-top为100px,内层盒子为50px。

2.允许出现外边距合并:内层div始终保持原位置不变,外层div的margin去两者中最大值:

 

二、当两个div不存在嵌套关系时,不管是否有border或者overflow属性时,两者始终会存在外边距合并问题。

例:1.第一个div有margin-bottom:100px,第二个为margin-top:50px, 两者间距最终取100px

    2.第一个div 由margin-bottom:100px, 第二个为margin-top:150px,两者间距最终取150px

        总结:在实际项目中,如果对外边距合并理解不透彻而又不想因为css盒模型的外边距合并问题困扰,可以在不影响布局的问题下,可以添加overflow:hidden属性或者跟透明的border;如无法避免外边距合并问题,谨记两者margin取最大值就好了。

 

分享到:
评论

相关推荐

    解决margin 外边距合并问题

    一、兄弟元素的外边距合并 效果图如下:(二者之间的间距为100px,不是150px) 二、嵌套元素的外边距合并 对于两个嵌套关系的元素,如果父元素中没有内容或者内容在子元素的后面并且没有上内边距及边框,则父元素...

    详解CSS外边距折叠引发的问题

    第一种:两个块级元素的上下边距折叠 第二种:父元素和子元素(或者最后一个元素)的...第一种、第三种:只有静态流的元素才会发生外边距合并故设置float position inline-block都可以 <style> .bother{ width:

    CSS的margin和padding

    你知道什么是垂直外边距合并?margin在块元素、内联元素中的区别?什么时候该用padding而不是margin?你知道负margin吗?你知道负margin在实际工作中的用途吗?常见的浏览器下margin出现的bug有哪些?…… 写css,你...

    CSS外边距合并代码

    我习惯把 图中所示的margin边界称为外边距,padding填充部分称之为内边距。设置外边距最好的一个方法就是设置margin值,同理,设置内边距的最好 办法就是设置padding了。设置内边距没什么好说的,设置的值是多少就是...

    详解css外边距折叠(margin collapsing)

    外边距折叠指的是毗邻的两个或多个外边距 (margin) 会合并成一个外边距,本文详细的介绍了一下css外边距折叠的实现,分为3种情况,非常具有实用价值,需要的朋友可以参考下

    正确理解CSS中的margin合并的用法

    margin合并是指块级元素的上外边距与下外边距有时会合并为单个外边距,有两点需要理解。 在块级元素中,不包括浮动和绝对定位元素 只发生在和当前文档流方向的相垂直的方向上 场景 一、相邻兄弟元素margin合并 p ...

    css盒子模型 css margin 外边框合并

    边框以外是外边距,外边距默认是透明的,因此不会遮挡其后的任何元素。 内边距、边框和外边距都是可选的,默认值是零。但是,许多元素将由用户代理样式表设置外边距和内边距。可以通过将元素的 margin 和 padding ...

    你真的了解margin吗?你知道margin有什么特性吗?

    你知道什么是垂直外边距合并?margin在块元素、内联元素中的区别?什么时候该用padding而不是margin?你知道负margin吗?你知道负margin在实际工作中的用途吗?常见的浏览器下margin出现的bug有哪些?…… Margin是...

    谈谈CSS的边距合并之我的理解

    其实浅析CSS的外边距合并的话,是很容易明白是怎么一回事儿的。但是如果想要深入了解margin这个神奇的属性,那可得费一番功夫了。 我是一个菜鸟,在这里当然不会解释得太复杂,在这里我只是想谈谈我对外边距合并的...

    元芳,你怎么看CSS中的margin合并?

    块级元素的上外边距(通常)与下外边距有时会合并为单个外边距,这样的现象称为“margin合并”。 从定义上,我们可以看出如下两点: 块级元素。但不包括浮动(float)和绝对定位(relative)元素——尽管这二者可以...

    请不要告诉我你懂css margin

    你知道什么是垂直外边距合并?margin在块元素、内联元素中的区别?什么时候该用 padding而不是margin?你知道负margin吗?你知道负margin在实际工作中的用途吗?常见的浏览器下margin出现的bug有哪些?…… 写css,...

    CSS属性探秘系列(六):margin

    margin 简写属性在一个声明中设置所有外边距属性。该属性可以有 1 到 4 个值。这个简写属性设置一个元素所有外边距的宽度,或者设置各边上外边距的宽度。块级元素的垂直相邻外边距会合并,而行内元素实际上不占上下...

    CSS(二)

    外边距合并7.margin-top 塌陷二、CSS 元素溢出overflow 属性介绍:三、块元素、内联元素、内联块元素课堂练习四、浮动文档流浮动特性清除浮动五、定位关于定位定位元素特性定位元素层级CSS实现垂直居中的问题六、...

    html_learning

    2021/2/27## ...day01: ...day02: ​ css基本语法+页面引入方法 ​ css文本设置+颜色表示 ​ css选择器(标签,id,类,层级...​ margin居中,外边距合并,margin-top塌陷 ​ css元素溢出 ​ 块元素,内联元素,内联块元素

    超经典的Web前端与移动开发基础视频 Web前端基础开发视频教程 移动开发基础视频教程

    01大前端开发和全栈开发的定义.avi 02前端开发基础视频-视频内容介绍.avi 03前端开发基础视频-操作系统常用设置.avi 04前端开发基础视频-操作系统通用快捷键操作... 95前端开发基础视频-CSS外边距margin的详解.avi

Global site tag (gtag.js) - Google Analytics