CSS中上下margin的传递和折叠

技术CSS中上下margin的传递和折叠 CSS中上下margin的传递和折叠CSS中上下margin的传递和折叠
1.上下margin传递
1.1.margin-top传递为什么会产生上边距传递
块级

CSS中上下边距的转移和折叠

CSS中上下margin的传递和折叠

1.上下margin传递

1.1.margin-top传递

为什么会发生最高利润转移?

块级元素的顶部线父元素的顶部线,重叠,那么这个块级元素的边距顶值将被传递给父元素。

示例:设置内盒边距-top : 20px;参考{

宽度: 100 px;

高度: 100像素;

背景-color : # f00;

color: # fff

}。方框{

宽度: 200 px;

高度: 200 px;

背景-color : # 0f 0;

}。内部{

宽度: 100 px;

高度: 100像素;

背景色: # 00f;

边距-top : 20px;

}

Div class='reference '引用框/div

div class='box '

div class='inner'/div

/div

Run:内部页边距的值被传递到框中。

1.2.margin-bottom传递

为什么会发生底部边距转移?

块级元素的底部线父元素的底部线父元素的高度是auto,重叠,那么这个块级元素的边距底值将被传递给父元素。

示例:为内盒设置边距-bottom : 20px;并将height: auto设置为父元素;方框{

宽度: 200 px;

height: auto/*将自动设置为父元素的高度,或者不设置高度。默认为自动*/

背景-color : # 0f 0;

}。内部{

宽度: 100 px;

高度: 100像素;

背景色: # 00f;

边距-bottom : 20px;

color: # fff

}。参考{

宽度: 100 px;

高度: 100像素;

背景-color : # f00;

color: # fff

}

div class='box '

div class='inner'inner/div

/div

Div class='reference '引用框/div

Run:将内部页边空白的值传递给box。

1.3.如何防止出现传递问题

为父元素设置顶部填充或底部填充,以防止顶部线条或底部线条重叠。

将边框设置到父元素可以解决边距转移的问题;

触发BFC(块格式上下文),简单理解为为父元素设置一个附魔,以防止上下页边距被忽略(最佳解决方案)。有以下几种方法可以触发BFC:

添加浮点(浮点的值不能为无);

设置一个不可见的溢出属性(除了可见,可以使用其他属性值,如隐藏、自动、滚动等。);

设置位置(位置(位置的值不能是静态的或相对的);

将显示值设置为内嵌块、表格单元格、flex、表格标题或内嵌flex;

2.上下margin折叠

边距崩溃,也称为外边距崩溃。两个垂直相邻的边距(上边距、下边距)可以合并成一个边距。但是水平边距(左边距、右边距)永远不会折叠。

2.1.兄弟块级元素之间上下margin折叠

示例:将box1的底部边距设置为40px,将box2的顶部边距设置为20px。

. box1 {

宽度: 100 px;

高度: 100像素;

背景-color : # f00;

边距-底部: 40px;

}

. box2 {

宽度: 100 px;

高度: 100像素;

背景-color : # 0f 0;

边距-top : 20px;

}

div class='box1'box1/div

div class='box2'box2/div

结果:两个盒子之间的距离为40px。

2.2.父子块级元素之间上下margin折叠

示例:内部将上边距设置为40px,父元素框将上边距设置为20px。参考{

宽度: 100 px;

高度: 100像素;

背景色: # 00f;

color: # fff

}。方框{

宽度: 200 px;

高度: 200 px;

背景-color : # f00;

边距-top : 20px;

}。内部{

宽度: 100 px;

高度: 100像素;

背景-color : # 0f 0;

边距-top : 40px;

}

Div class='reference '引用框/div

div class='box '

div class='inner'inner/div

/div

结果:上边距为40px。

2.3.总结

父子块级元素之间上下边距折叠的原因是,inner将上边距传递给了父元素框,然后将父元素框与其自己的上边距进行了比较。

折叠后的最终计算规则:比较两个值,取较大的值;

如果要防止上下页边距折叠,只能设置其中一个;

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/155864.html

(0)

相关推荐

  • 口加偏旁组成新字,“口”字加偏旁,变新字。

    技术口加偏旁组成新字,“口”字加偏旁,变新字。“口”字加偏旁能组成 口加偏旁组成新字:e799bee5baa6e997aee7ad94e58685e5aeb931333365646262中、叶 、古 、右 、占 、号 、

    生活 2021年10月27日
  • react无状态怎么写

    技术react无状态怎么写这篇文章主要介绍了react无状态怎么写,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 react无

    攻略 2021年11月26日
  • 如何用Python爬取英雄联盟,lol全部皮肤

    技术如何用Python爬取英雄联盟,lol全部皮肤今天就跟大家聊聊有关如何用Python爬取英雄联盟(lol)全部皮肤,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获

    攻略 2021年10月26日
  • 电脑手机互传文件,手机同电脑怎么互传文件

    技术电脑手机互传文件,手机同电脑怎么互传文件日常生活中,我们经常会遇到手机和电脑互传文件的场景,可以使用传统的数据线传送方法,也可以使用软件进行传输电脑手机互传文件。方法一:使用数据线一直都是使用手机和电脑进行文件传输的

    生活 2021年10月24日
  • SpringBoot JPA sort多属性排序的示例分析

    技术SpringBoot JPA sort多属性排序的示例分析这篇文章主要介绍SpringBoot JPA sort多属性排序的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!SpringB

    攻略 2021年11月21日
  • Vue动态绑定类时要如何避免出现空类情况

    技术Vue动态绑定类时要如何避免出现空类情况这篇文章主要为大家展示了“Vue动态绑定类时要如何避免出现空类情况”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue动态绑定类时

    攻略 2021年12月9日