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)

相关推荐

  • 投入的近义词,“尽心尽力”类似的词语有哪些

    技术投入的近义词,“尽心尽力”类似的词语有哪些竭尽全力[jiéjìnquánlì]?:形容用尽全部力量投入的近义词。
    尽心尽力[jìnxīnjìnlì]:做事非常的卖力,或为非常的卖命,以用尽了自己所有的能力。
    尽心尽责

    生活 2021年10月30日
  • 同性恋的原因,为啥现在的同性恋那么多

    技术同性恋的原因,为啥现在的同性恋那么多同性恋产生的原因至今尚无肯定的学说,一般认为与以下因素有关同性恋的原因:
    (1)遗传因素,有人发现同性恋者在单卵双生子中远比双卵双生子中多见,而且男同性恋可能是母系遗传的。
    (2)

    生活 2021年10月30日
  • excel中Alt键的使用技巧有哪些

    技术excel中Alt键的使用技巧有哪些这篇文章将为大家详细讲解有关excel中Alt键的使用技巧有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。  1.Alt+Enter 强制换

    攻略 2021年10月29日
  • 如何深入解析Java 8 默认方法和多继承

    技术如何深入解析Java 8 默认方法和多继承本篇文章给大家分享的是有关如何深入解析Java 8 默认方法和多继承,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看

    攻略 2021年10月29日
  • 霹雳的意思是什么,霹雳有什么诗号让人印象深刻

    技术霹雳的意思是什么,霹雳有什么诗号让人印象深刻一直以来《霹雳布袋戏》就深受大家的喜爱是因为它深入人心的角色,精彩的剧情。里面快意恩仇,肝胆相照,智冠群伦的智者,刀狂剑痴,心中唯有剑的柳生剑影,美丽的月神,视钱如命的杀手

    生活 2021年10月19日
  • "docker build" requires exactly 1 argument(s).报错的解决方法

    技术"docker build" requires exactly 1 argument(s).报错的解决方法"docker build" requires exactly 1 argument(s).报错的解决方法,很

    攻略 2021年11月12日