2、margin重叠的情况和解决

6 篇文章 0 订阅
订阅专栏

什么是margin重叠:

  • 两个或多个盒子可能(相邻)也可能(嵌套)的相邻边界(其间没有任何非空内容、补白、边框)重合在一起而形成一个单一边界。

  • 有可能发生在父子元素,也有可能发生在兄弟元素之间

    • 兄弟之间之间:兄弟元素之间是真正的margin重叠。

      img

    • 父子之间:父子之间实质为,当子元素的margin大于父元素时,会超过父元素的范围,显示出来就是那个大显哪个

      img

      所以:

      父元素的margin还是原来的5px
      子元素的margin为10,较大,撑开了父元素的区域在这里插入图片描述 实际上当子元素margin大于父元素margin的时候,其实是挤开了父元素的位置,导致看起来是重叠了。

  • 发生在(垂直相邻边界),即上下

  • 结果的边界宽度是相邻边界宽度中(最大的值)

  • 边界的重叠也有例外情况:

    1、水平边距永远不会重合。
    2、在规范文档中,2个或以上的块级盒模型相邻的垂直margin会重叠。最终的margin值计算方法如下:
    a、全部都为正值,取最大者;
    b、不全是正值,则都取绝对值,然后用正值减去最大值;
    c、没有正值,则都取绝对值,然后用0减去最大值。

意义:外边距的重叠只产生在普通流文档上下外边距之间,这个看起来有点奇怪的规则,其实有其现实意义。

设想,当我们上下排列一系列规则的块级元素(如段落P)时,那么块元素之间因为外边距重叠的存在,段落之间就不会产生双倍的距离。

解决方法:

对于父子元素:

1、子层元素取消margin,用父元素的padding代替

2、内层元素透明边框 border:1px solid transparent; //这是基于最上面说的(其间没有任何非空内容、补白、边框)原理实现。

3、内层元素设置为BFC。(什么为BFC详见下一篇)

对于兄弟元素:

1、设置两个兄弟为两个BFC区域

2、给其中一个兄弟套上一个div,设置border:1px solid white;也是用了(其间没有任何非空内容、补白、边框)原理实现。

如何理解margin重叠问题
weixin_47450807的博客
04-08 3440
一、写在前面 根据w3c规范,两个margin产生折叠的必备条件: 1、必须处于常规文档流(不能是浮动和定位)的块级盒子,并且处于同一个BFC当中。 2、没有线盒,没有空隙,没有padding和border将他们分割。 3、都处于垂直方向相邻的外边距。 二、例子 <!DOCTYPE html> <html lang="cn"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compa
关于BFC的特性,以及如何利用BFC解决margin溢出与margin重叠问题
u012925833的博客
05-22 1869
1. 何为BFC? 文章:https://juejin.im/post/5909db2fda2f60005d2093db#heading-8 BFC概括:可以在心中记住这么一个概念———所谓的BFC就是css布局的一个概念,是一块区域,一个环境。 BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域,只有Block-level box参与...
CSS 外边距(margin)重叠及防止方法
12-13
两个或多个块级盒子的垂直相邻边界会重合。结果的边界宽度是相邻边界宽度中最大的值。如果出现负边界,则在最大的正边界中减去绝对值最大的负边界。如果没有正边界,则从零中减去绝对值最大的负边界。注意:相邻的盒子可能并非是由父子关系或同胞关系的元素生成。 但是边界的重叠也有例外情况: 1、水平边距永远不会重合。 2、在规范文档中,2个或以上的块级盒模型相邻的垂直margin重叠。最终的margin值计算方法如下: a、全部都为正值,取最大者; b、不全是正值,则都取绝对值,然后用正值减去最大值; c、没有正值,则都取绝对值,然后用0减去最大值。 注意:相邻的盒模型可能由DOM元素动态产生并没有相邻或继
css margin重叠的问题
java的涟漪
09-11 168
&lt;style&gt; &lt;!-- .zxx_test_box {background:none repeat scroll 0 0 #F3F3F3; border:1px dashed #DDDDDD; margin-top:10px} .zxx_margin_out {background:none repeat scroll 0 0 #CACBCC; col...
margin重合(外边距重叠)及解决方法
热门推荐
liuye066的专栏
05-25 1万+
CSS 外边距重叠(外边距塌陷) 块的上外边距(margin-top)和下外边距(margin-bottom)有时合并(折叠)为单个边距,其大小为单个边距的最大值(或如果它们相等,则仅为其中一个),这种行为称为边距折叠。 一、哪些元素会发生外边距重叠问题 外边距的重叠只产生在普通流文档的上下外边距之间, 只有 块元素 会发生外边距重叠,行内元素 和 行内块元素 都不会发生外边距重叠问题 二、什么情况下会发生外边距重叠呢 第一种情况: 相邻兄弟元素的marin-bottom和margin-top的值
margin重叠的原因及解决办法
cherry8179的博客
04-10 1991
一.原因及创建 1.margin重叠是因为同一个bfc(块级格式化上下文)中的margin重叠,bfc是单独的一个容器。 2.创建bfc的方法: float的值不为none position的值为absolute,fixed display(inline-block,t...
浅谈css margin重叠
12-13
父子元素margin重叠 解决办法: 给子元素添加浮动属性,相应父元素添加必要的清浮动属性; 给父元素添加边缘属性,如padding、border; 同级元素margin反向重叠 同级元素margin反向重叠时,元素之间的距离为两个...
盒模型margin重叠/合并问题解决发方法
ifformy的博客
03-14 2167
html代码 <div class="divOne">场请放事国才没甲辜是受一颜我冇于人不,得评骂天对互秦变者苟你流太,此将游人的倒的动,付解有活后大但家考人动不把是家斯,足创者德已案的临孔什掉三活,重。</div> <div>已对报了拾妙人航即罚因最德而才实,病好仍血老仓锐娇国,你在以没身又为皇,么屯够生以母判,云败叩反能收能章王的杨人也,终书畴请土才话的,者作你郭放,君未张知之感则和饮是第</div> css 代码 /*初始化*/ bo..
margin重叠问题及解决方案全览
比起未来可期,我更喜欢如约而至
02-05 4085
项目中遇到了margin重叠问题,基于之前对这块知识掌握不熟练,所以学习之后在这里做一个总结吧。
解决margin重叠
Dayer的博客
06-18 421
第一种,父子级的块之间,子级的上下margin会与父级上下margin重叠,以数值大的为准,而不会相加 代码: <div id="par"> <div id="chi">子级</div> </div> #par { margin: 10px; // padding: 1px; // border:1px solid transparent; // overflow: hidden;
理解 margin 垂直重叠的原因和解决方案
码的世界
01-11 1619
// 本文参考多篇文章,视频,官方文档而成,具体链接均在文中给出 从 BFC 开始 margin 垂直方向重叠并不是一个 BUG 而是一种官方规定的规则,这个规则就叫做 BFC(block formating contexts),如果你还不了解 BFC,可以观看这个视频快速学习。 如果你想看 w3c 关于 BFC 的 margin 垂直方向重叠的规定,点击这里 在这个规定里,规定了 BFC 的其中一个特性,这个特性就是块级元素上下排列时,margin 重叠,且重叠margin 值为最大的那个值 综上,m
margin重叠问题
weixin_43971228的博客
08-21 954
margin重叠 CSS中,两个或者多个盒(可能但不一定是兄弟)的相邻的margin会被结合成一个marginMargin按这种方式结合叫重叠(collapse) ,产生的结合的margin叫做重叠marginmargin重叠的计算规则 两个margin是相邻的,当且仅当: 都属于流内块级盒,处于同一个块格式化上下文。 没有行盒(line box),没有空隙,没有padding并且没有...
margin 重叠
江淹的博客
12-31 2116
margin重叠发生的情况: 1、只发生在block元素上,不包括float、absolute、inline-block元素 2、只发生在垂直方向上 margin重叠总结如下: 1、相邻兄弟元素<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <
margin值重合解决方法
weixin_49592652的博客
09-09 258
margin值重合分类异向重叠解决方法 分类 1.解决同向重叠的方法: (1)在最外层的div中加入overflow:hidden (2)在最外层加入padding:1px; (3)在最外层加入:border:; 2.异向重叠问题: float:left 异向重叠解决方法 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport"
什么是 margin 重叠问题?如何解决
Caleb的博客
05-20 417
margin 重叠问题
CSS布局 ——margin重叠
ty13438189519的博客
07-22 1317
一、margin collapsing现象: BFC(block formatting context)中相邻的两个block-level的盒,上一个box的下边距会跟下一个box的上边距发生叠加;margin collapse的三种情况: 1.相邻兄弟元素; 2.父级和第一个/最后一个元素; 3.空的block父子marginmargin collapse的其他条件 1.父子重叠
CSS margin 重叠(margin collapse)
broken_promise的博客
07-19 1774
首先有两个地方是我自己以前也没有注意的非替换元素的内联元素(,等),设置上下margin没有用.但是设置左右margin是有效果的.而替换元素(等),设置上下左右四个margin都有效果其次就是只有上下margin会发生重叠(这个说法不严谨,后面会解释).进入正题,上下margin重叠时,谁的值(绝对值)更大最终的margin大小就是谁的值.如果上下margin大小相同也是这样....
忽略的问题——margin重叠
liyuqi_liyuqi的博客
06-26 418
1.margin同向重叠。 问题描述: first盒子和wrapper大盒子的margin都是10px,然而,first的上边界与wrapper的上边界重叠,third的下边界与wrapper下边界重叠,而不是相距10px。 解决方法: a.给wrapper设置border。 b.给wrapper设置padding。 c.引用闭合浮动的方式,在父元素wrapper中设置overfl
如何解决css两个块上下margin重叠
最新发布
07-16
当两个相邻的块元素(block element)的上下 margin 相遇时,会发生 margin 重叠(collapsing margins)现象。这种情况下,两个块元素的 margin 可能会合并为一个较大的 margin 值。 要解决这个问题,您可以尝试以下方法之一: 1. 使用 `padding` 替代 `margin`:将其中一个块元素的 margin 改为 padding,或者在两个块元素之间插入一个包裹元素,并给这个包裹元素设置 padding。这样可以避免 margin 重叠。 ```html <style> .element1 { margin-bottom: 20px; background-color: lightgray; } .element2 { padding-top: 20px; background-color: lightblue; } </style> <div class="element1">块元素1</div> <div class="element2">块元素2</div> ``` 2. 使用 `border` 或 `outline`:给其中一个块元素添加一个看不见的边框(border)或轮廓(outline),这样也可以阻止 margin 重叠。 ```html <style> .element1 { margin-bottom: 20px; background-color: lightgray; } .element2 { border-top: 1px solid transparent; background-color: lightblue; } </style> <div class="element1">块元素1</div> <div class="element2">块元素2</div> ``` 3. 使用 `float` 属性:将其中一个块元素设置为浮动(float),这样也可以解决 margin 重叠的问题。 ```html <style> .element1 { margin-bottom: 20px; background-color: lightgray; } .element2 { float: left; background-color: lightblue; } </style> <div class="element1">块元素1</div> <div class="element2">块元素2</div> ``` 这些方法中的任何一种都可以解决块元素之间的 margin 重叠问题。您可以根据具体情况选择适合您的解决方案。
写文章

热门文章

  • 1、什么是箭头函数 13966
  • 7、canvas有哪些属性 4451
  • 2、margin重叠的情况和解决 3825
  • 4、async和await详解 2210
  • Vue封装全局防抖节流函数 2136

分类专栏

  • 项目问题 2篇
  • 技能树 36篇
  • 前端算法 3篇
  • HTML、CSS基础 4篇
  • JavaScript基础 18篇
  • 浏览器 4篇
  • 计算机网络 1篇
  • Vue框架 4篇
  • 操作系统 2篇
  • 前端面试题杂谈 6篇
  • 面试试题 1篇
  • CVTE 1篇

最新评论

  • 1、什么是箭头函数

    飞天的毛毛虫: 是的 这个结果作者应该是写错了

  • Vue封装全局防抖节流函数

    菜狗狗敖: <template> <div> <el-button type='primary' @click="ceshi">防抖</el-button> <div>{{i}}</div> </div> </template> <script> export default { name:'performanceoptimization', data(){ return{ i:1, fd:null } }, mounted(){ console.log() }, methods:{ ceshi(){ this.$utils.debounce(this.fangdou)() }, fangdou(){ console.log("22222") }, } } </script> <style> </style> 大佬我这样使用没效果

  • Day5两数相加

    abuanden: 谢谢您!

  • Day5两数相加

    Deep Learning小舟: 一般不评论的,看到这感到非常的认同。( ̄ˇ ̄)

  • 1、什么是箭头函数

    Tryharder1028: [code=javascript] var obj = { array: [1, 2, 3], sum: () => { console.log(this === window); // => true console.log(this.window.array); // => [1,2,3] console.log(this.array) // => undefined } }; obj.sum(); [/code] console.log(this.window.array);这个打印的是 undefined

大家在看

  • 03 添加并发请求
  • NLP自然语言处理:文本处理的基本方法
  • 1041-基于51单片机的报警器(模拟量,4路,ADC0832)原理图、流程图、物料清单、仿真图、源代码
  • Java基于SpringBoot的甘肃旅游特产网站+Vue[毕业设计] 780
  • 【聚类算法】基于网格的聚类 1093

最新文章

  • 原生JS实现简单弹窗和遮罩层功能
  • Vue封装全局防抖节流函数
  • js类型判读
2021年48篇
2020年7篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家商场卡通ip美陈毕节商场美陈安装西北旺商场美陈定制小型玻璃钢花盆洛江玻璃钢花盆花器惠州公仔玻璃钢动物雕塑河南仿古玻璃钢仿铜雕塑小品宁波公园玻璃钢雕塑茶山玻璃钢花盆花器定制仿铜玻璃钢雕塑佛山玻璃钢人物雕塑在线下单云南水果玻璃钢雕塑定制三亚玻璃钢不锈钢雕塑浙江主题商场美陈有哪些湖北公园玻璃钢雕塑销售厂家大庆玻璃钢雕塑源头厂家玻璃钢雕塑能上色吗商场外场ip美陈浙江通道商场美陈厂家直销吉林步行街玻璃钢雕塑订做价格曲阳玻璃钢雕塑工艺品北京走廊商场美陈批发价公园摆件玻璃钢雕塑直销价格广东人物玻璃钢雕塑安装很好的玻璃钢雕塑厂玻璃钢花盆表面有湿痕江门能透光玻璃钢雕塑摆件公园标识玻璃钢彩绘雕塑制造小孩玻璃钢雕塑青海景区玻璃钢雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化