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)

相关推荐

  • iOS如何实现应用退出场景

    技术iOS如何实现应用退出场景这篇文章主要介绍了iOS如何实现应用退出场景,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。场景描述:应用处于运行状态(即Ac

    攻略 2021年10月21日
  • 女生标准体重表,中国人男女的体重标准是多少

    技术女生标准体重表,中国人男女的体重标准是多少其实现在全世界都使用体重指数(BMI)来衡量一个人胖或不胖。具体的计算的方法是女生标准体重表:
    BMI=体重(公斤)/身高(米)的平方
    例如:某MM的身高1.7米,体重为65

    生活 2021年10月28日
  • 重排序和happens-before有什么关系

    技术重排序和happens-before有什么关系本篇内容介绍了“重排序和happens-before有什么关系”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情

    攻略 2021年11月2日
  • elasticsearch索引管理知识点总结(elasticsearch设计减少内存使用)

    技术Elasticsearch可搜索快照是如何办到大幅降低存储成本的Elasticsearch可搜索快照是如何办到大幅降低存储成本的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需

    攻略 2021年12月16日
  • 函数重载Oracle和PG的异同是什么

    技术函数重载Oracle和PG的异同是什么本篇内容主要讲解“函数重载Oracle和PG的异同是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“函数重载Oracle和PG的异

    攻略 2021年11月5日
  • 考研复试什么时候,一般什么时候会公布考研复试线

    技术考研复试什么时候,一般什么时候会公布考研复试线2021年考研复试线的公布日期2021年研究生考试已经于2020年12月26~28日结束,目前全国各院校的初试成绩已经可以查询,成绩出来后可谓几家欢喜几家愁,各位考生对于

    生活 2021年10月24日