CSS里盒子模型中【margin垂直方向边界叠加】问题及解决方案

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

 

两个或多个块级盒子的垂直相邻边界会重合。

  • 如果都是正边界,结果的边界宽度是相邻边界宽度中最大的值
  • 如果出现负边界,则在最大的正边界减去绝对值最大的负边界
  • 如果没有正边,则从零中减去绝对值最大的负边界

 

最终的margin值计算方法如下:

a、全部都为正值,取最大者;

b、不全是正值,则都取绝对值,然后用正值减去最大值;

c、没有正值,则都取绝对值,然后用0减去最大值。

注意:相邻的盒子可能并非是由父子关系或兄弟关系的元素生成。

 

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

1、水平边距永远不会重合。、

2、在规范文档中,2个或以上块级盒模型相邻的垂直margin会重叠。

3、相邻的盒模型中,如果其中的一个是浮动的(float),垂直margin不会重叠,并且浮动的盒模型和它的子元素之间也是这样。

4、设置了overflow属性的元素和它的子元素之间的margin不被重叠(overflow取值为visible除外)。

5、设置了绝对定位(position:absolute)的盒模型,垂直margin不会被重叠,并且和他们的子元素之间也是一样。

6、设置了display:inline-block的元素,垂直margin不会重叠,甚至和他们的子元素之间也是一样。

7、如果一个盒模型的上下margin相邻,这时它的margin可能重叠覆盖(collapse through)它。在这种情况下,元素的位置(position)取决于它的相邻元素的margin是否重叠。

  a、如果 元素的margin和它的父元素的margin-top重叠在一起,盒模型border-top的边界定义和它的父元素相同
 
  b、另外,任意元素的父元素不参与margin的重叠,或者说只有父元素的margin-bottom是参与计算的。如果元素的border-top非零,那么元素的border-top边界位置和原来一样。
一个应用了清除操作的元素的margin-top绝不会和它的块级父元素的margin-bottom重叠。
 
  注意,那些已经被重叠覆盖的元素的位置对其他已经重叠的元素的位置没有任何影响;只有在对这些元素的子元素定位时,border-top边界位置才是必需的。
 
8、根元素的垂直margin不会被重叠。
 

外边距(margin)重叠示例

外边距重叠是指两个垂直相邻的块级元素,当上下两个边距相遇时,外边距会产生重叠现象,且重叠后的外边距,等于其中较大者。

外边距重叠的意义

外边距的重叠只产生在普通流文档的上下外边距之间,这个看起来有点奇怪的规则,其实有其现实意义。设想,当我们上下排列一系列规则的块级元素(如段落P)时,那么块元素之间因为外边距重叠的存在,段落之间就不会产生双倍的距离。

 

防止外边距重叠解决方案

问题代码:

1 <div style="background: red;">   
3     <div style="margin-top:50px;">margin</div>  
5 </div>

 

外层元素 overflow:hidden;

1 <div style="background: red;overflow:hidden;">   
2     <div style="margin-top:50px;">margin</div>  
3 </div>

 

外层元素使用padding;

1 <div style="background: red;padding-top:1px;">
2     <div style="margin-top:50px;">margin</div>
3 </div>

 

内层元素透明边框 border:1px solid transparent;

1 <div style="background: red;border-top:1px solid transparent;">  
2     <div style="margin-top:50px;">margin</div>  
3 </div>

 

添加一个inline元素

1 <div style="background: red;">&nbsp;   
2     <div style="margin-top:50px;">margin</div>  
3 </div>

 

内层元素绝对定位 postion:absolute;

1 <div style="background: red;">
2     <div style="margin-top:50px;postion:absolute;">margin</div>  
3 
4 </div>


内层元素加float:leftdisplay:inline-block;

1 <div style="background: red;">
2     <div style="margin-top:50px;float:left:display:inline-block;">margin</div>  
3 </div>


内层元素padding:1px;

1 <div style="background: red;">
2     <div style="margin-top:50px;padding:1px;">margin</div>  
3 </div>

转载于:https://www.cnblogs.com/feixiablog/p/9359681.html

aomiano55778
关注 关注
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSS解决父子边界重叠问题
m0_53521757的博客
07-01 2386
CSS解决父子边界重叠问题 什么情况会出现父子边界重叠问题?        子元素设置了margin-top属性传递给了父元素,导致子元素和父元素相邻的垂直外边距发生重叠。 即: CSS样式代码 #div_01{ height: 300px; width: 300px; background-color: antiquewhite; } #div_02{ margin-
CSS 盒子模型 第三节
菜鸟心声:学的不仅是技术,更是梦想!
11-16 451
盒子模型 盒子模型 现代 Web 前端的布局设计简单说就是一堆盒子的排列与嵌套,掌握了盒子与它们的摆放控制,会发现再复杂的页面也不过如此。 盒子是一个概念,也可以说是容器,可以在面放置网页需要显示的内容,文档每一个元素都会产生一个盒子,盒子拥有很多属性,比如 width、height、padding、border 和 margin 等。 案例: <!DOCTYPE html> <html> <head> <meta charset="utf-8">
盒子模型之外边距叠加
weixin_47124862的博客
12-01 322
在开发过程,可能会遇到这样的一种情况,有相邻的两个块元素A和B,其A定义了一个margin-bottom,B定义了一个margin-top。当我们在浏览器查看时,明显发向A和B的垂直距离明显小于相加之和。这个现象是由外边距叠加所引起的。 外边距叠加有三种情况: 1、同级元素叠加 当一个元素出现在另一个元素上面的时候,第一个元素的下边距就会和第二个元素的上边距发生合并。 2、父子元素叠加 当一个元素包含在另外一个元素时,加入没有padding和border把外边距分隔开,父元素和子元素的相邻上下外边距
垂直方向margin重叠原因与解决方法
weixin_33743661的博客
09-30 1593
我们经常写样式的时候会遇到垂直方向margin重叠的问题,如下代码: <style> .container1 { color: #fff; } .first { margin-bottom: 20px; padding-left: 10px; ...
如何解决垂直方向margin重叠
yuqin的博客
08-06 451
两个或多个块级盒子的垂直相邻边界会重合。 就是这样: <style> .container { margin: 30px auto; width: 600px; height: 300px; } .p { border: solid 3px #a33; } .c { width: 100px; ...
cssmargin上下外边距重叠问题
weixin_34132768的博客
02-24 215
css盒子模型是这样规定两个对象之间的距离的:对象之间的间距是由两个对象的盒子模型的最终计算值得出来的,也就是说两个对象之间的间距就是两个对象的距离,但是当遇到两个对象一个有下外边距margin,一个有下外边距margin,这个问题变得有点复杂。我们来看看。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN...
盒子模型padding和margin垂直方向对inline(行内元素)是无效的
caomingwumr8的博客
10-05 763
盒子模型padding和margin垂直方向指的 padding-top,padding-bottom和margin-top ,margin-bottom,对inline(行内元素)如:,    ,,........等失效的。而img,input,属于inline-block(行内块级元素),行内块级元素和块级元素一样,是受盒子模型padding和margin垂直方向影响,不失效。
CSSmargin边界叠加问题解决方案
01-19
CSSmargin边界叠加深度剖析 边界叠加简介 边界叠加是一个相当简单的概念。但是,在实践对网页进行布局时,它会造成许多混淆。简单地说,当两个垂直边界相遇时,它们将形成一个边界。这个边界的高度等于两个发生...
理解margin塌陷和margin合并及其解决方案.docx
10-26
### 理解margin塌陷和margin合并及其解决方案 #### margin塌陷的理解与解决方法 **一、何为margin塌陷** 在CSS布局margin塌陷是指在嵌套元素,子元素的上外边距(`margin-top`)与父元素的上外边距重合时,...
上下Margin叠加问题
無為
07-12 3237
盒子模型我们可以得知:对象之间的间距是由两个对象的盒子模型的最终计算值得出来的。但有一种特殊情况====>上下对象的间距问题。当两个对象呈现出上下关系时而且都具备margin属性的时候,此时由margin所造成的外边距将会出现叠加的现象。还是下面例子吧.Margin叠加问题#a{width:100px;height:100px;backgrou
关于盒子模型margin叠加现象的归类与思考
F-ZERO-F的博客
07-31 989
问题由来 在对嵌套元素的子元素进行垂直方向上的居操作时,采用margin-top会出现父元素和子元素一同下移的现象无法达到想要的效果。 &amp;amp;lt;!--html代码块--&amp;amp;gt; &amp;amp;lt;div id=&amp;quot;father&amp;quot;&amp;amp;gt; &amp;amp;lt;div id=&amp;quot;son&amp;quot;&amp
margin垂直方向边界叠加
Bliss_妍的博客
08-21 183
margin值计算方法: a、全部都为正值,取最大者; b、不全是正值,则用最大正边界减去绝对值最大的负边界; c、没有正值,用0减去绝对值最大的负边界。 1、水平边距永远不会重合。 2、在规范文档,2个或以上的块级盒模型相邻的垂直margin会重叠。 3、相邻的盒模型,如果其的一个是浮动的(float),垂直margin不会重叠,并且浮动的盒模型和它的子元素之间也是这样。 4、设置了overflow属性的元素和它的子元素之间的margin不被重叠(overflow取值为visible除外)。 5、
行内元素竖直方向margin和padding以及盒子模型问题
dreamer_zhou的博客
09-21 542
行内元素竖直方向margin和padding以及盒子模型问题
盒子模型外边距问题&display&visible&浮动
木头房子的格子铺
05-21 1331
盒子模型的外边距问题
HTML基础二 测试题
qq_37169559的博客
11-06 4625
HTML5 一、单选题(共30题,每题2分) 得分:2.0分 1. 以下哪个元素不是行内块元素?( ) A textarea B div C img D input 正确答案: B 解析: 题目问的是哪个不是行内块,textarea、img、input都是;div是块元素 得分:2.0分 2. 以下哪个选项不属于web标准 A 结构 B...
如何解决CSS3盒子margin无效的问题?
最新发布
i-cat的博客
10-11 1174
CSS3盒子模型的常见问题 : 盒子模型内减、margin合并现象、嵌套块级元素塌陷、行内元素设置内外边距无效
前端一阶段易错题集合
qq_44930306的博客
04-24 4029
目录 1.在HTML使用link标签链接的样式表是 3.能实现背景平铺效果,对应的CSS为 4.关于样式表的优先级说法正确的是 5.以下css属性设置语法正确的有 6.下列哪些标准是由W3C(万维网联盟)制定的 7.选出你认为最合理的定义标题的方法 9.下列属于input标签的属性有 10.下列属于a标签的属性有 11.下列哪些标签能够实现加粗效果 12..如果想跳转到同一目录下的名为res.html文件的名为show的锚点,下列( A )写法是正确的? 13.用HTML+CSS.
CSS:嵌套的块级元素垂直外边距margin合并(塌陷)
weixin_46682277的博客
12-08 630
对于两个嵌套关系的块级元素,如果父元素没有上边距或边框,父元素的上外边距会与子元素的上外边距发生合并情况(塌陷)。 <style> .father, .son{ width:200px; height:200px; background-color:hotpink; } .son{ margin-top:30px; } </style> <div class="father"> <div class="son"> </div> </di
盒子模型margin重叠深度分析
dancing_burry的博客
12-08 3942
文章来源:http://blog.csdn.net/flyokzt/article/details/46454655 你对CSSmargin边界叠加的概念是否了解,这和大家分享一下,当一个元素出现在另一个元素上面时,第一个元素的底边界与第二个元素的顶边界发生叠加CSSmargin边界叠加深度剖析 边界叠加简介 边界叠加是一个相当简单的概念。但是,在实践
深入理解CSS盒子模型的padding与margin解析
"本文详细介绍了CSS的两个关键属性——padding和margin,并结合盒子模型(Boxmodel)进行阐述,旨在帮助读者深入理解这两个属性在CSS布局的作用。" 在CSS,`padding`和`margin`是用于调整元素内外间距的重要...
写文章

热门文章

  • 微信weixin://xxx 分析 33666
  • 【转】漫画:什么是协程? 7199
  • 探究:Adobe Premiere Pro CC 2018 导入SRT字幕显示不全问题 5902
  • 关于GatewayClient 介绍和使用 4960
  • 如何修改npm仓库地址 3604

大家在看

  • 【最快最简单的排序 —— 桶排序算法】 64
  • 基于mimo系统的信道估计算法matlab仿真,对比LS,MMSE以及OMP压缩感知三种算法
  • 04 添加 loading 加载
  • Java-锁粗化 355
  • JAVA正则匹配 167

最新文章

  • 关于域名备案申请
  • meta标签中的http-equiv属性使用介绍
  • WDCP3.3中多PHP版本安装方法,以及安装遇到的问题
2019年26篇
2018年157篇
2017年41篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

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

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