广告
返回顶部
首页 > 资讯 > 前端开发 > html >如何解决margin折叠的问题
  • 881
分享到

如何解决margin折叠的问题

2024-04-02 19:04:59 881人浏览 泡泡鱼
摘要

今天就跟大家聊聊有关如何解决margin折叠的问题,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 前几天,有个电面问道了这个问题,抓紧补一

今天就跟大家聊聊有关如何解决margin折叠的问题,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

 前几天,有个电面问道了这个问题,抓紧补一下这方面的缺口。以下是一下网上收集的资料:

margin折叠的问题,不是bug,而是正常的规则。

CSS2.1中,水平的margin不会被折叠。

垂直margin可能在一些盒模型中被折叠:

 1、在常规文档流中,2个或以上的块级盒模型相邻的垂直margin会被折叠。
最终的margin值计算方法如下:
    a、全部都为正值,取最大者;
    b、不全是正值,则都取绝对值,然后用正值减去最大值;
    c、没有正值,则都取绝对值,然后用0减去最大值。
注意:相邻的盒模型可能由DOM元素动态产生并没有相邻或继承关系。

2、相邻的盒模型中,如果其中的一个是浮动的(floated),垂直margin不会被折叠,甚至一个浮动的盒模型和它的子元素之间也是这样。

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

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

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

6、如果一个盒模型的上下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边界位置才是必需的。

7、根元素的垂直margin不会被折叠。

浮动的块级元素的margin-bottom总是与它后面的浮动块级兄弟元素(floated next in-flow block-level sibling)的margin-top相邻,除非那个同级元素使用了清除操作。

浮动的块级元素的margin-top和它的第一个浮动块级子元素(floated first in-flow block-level child)的margin-top相邻(如果该元素没有border-top,没有padding-top,并且子元素没有使用清除操作)。

浮动的块级元素的margin-bottom如果符合下列条件,那么它和它的最后一个浮动块级子元素的margin-bottom相邻(如果该元素没有指定padding-bottom或border): a、指定了height:auto b、min-height小于元素的实际使用高度(height) c、max-height大于元素的实际使用高度(height)

如果一个元素的min-height属性设置为0,那么它所拥有的margin是相邻的,并且它既没有border-top和border-bottom,也没有padding-top和padding-bottom,它的height属性可以是0或auto,它不能包含一个内联的盒模型(line box),它所有的浮动子元素(如果有的话)的margin也都是相邻的。

当一个元素拥有的margin折叠了,并且它使用了清除操作,那么它的margin-top会和紧随其后的兄弟元素的相邻margin折叠,但结果是它的margin将无法和其块级父元素的margin-bottom折叠。

折叠操作是以padding、margin、border的值为基础的(即在浏览器解析所有这些值之后),折叠后的margin计算将覆盖已使用的不同margin的值。

看完上述内容,你们对如何解决margin折叠的问题有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网html频道,感谢大家的支持。

--结束END--

本文标题: 如何解决margin折叠的问题

本文链接: https://www.lsjlt.com/news/82728.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何解决margin折叠的问题
    今天就跟大家聊聊有关如何解决margin折叠的问题,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 前几天,有个电面问道了这个问题,抓紧补一...
    99+
    2022-10-19
  • 如何解决CSS中margin边界叠加的问题
    小编给大家分享一下如何解决CSS中margin边界叠加的问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!CSS的margin边界叠加深度剖析边界叠加简介边界叠加是一个相当简单的概念。但是...
    99+
    2022-10-19
  • 如何解决margin-top塌陷的问题
    这篇文章给大家分享的是有关如何解决margin-top塌陷的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是margin-top塌陷margin-top塌陷是在CSS的盒...
    99+
    2022-10-19
  • 如何解决margin:0pxauto居中问题
    本篇文章为大家展示了如何解决margin:0pxauto居中问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。向大家描述一下margin:0pxauto居中问题,使...
    99+
    2022-10-19
  • 如何使用margin解决缩进问题
    这篇文章主要介绍“如何使用margin解决缩进问题”,在日常操作中,相信很多人在如何使用margin解决缩进问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用marg...
    99+
    2022-10-19
  • margin-top的传递问题怎么解决
    这篇文章主要介绍了margin-top的传递问题怎么解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇margin-top的传递问题怎么解决文章都会有所收获,下面我们一起来看看...
    99+
    2022-10-19
  • 如何解决css中margin-right没有效果的问题
    这篇文章主要讲解了“如何解决css中margin-right没有效果的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决css中margin-rig...
    99+
    2022-10-19
  • CSS中margin加倍的问题怎么解决
    本篇内容介绍了“CSS中margin加倍的问题怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! C...
    99+
    2022-10-19
  • win10右下角任务栏不折叠如何解决
    要解决Win10右下角任务栏不折叠的问题,您可以尝试以下方法:1. 鼠标右键点击任务栏空白处,选择“任务栏设置”。2. 在弹出的窗口...
    99+
    2023-09-15
    win10
  • 如何解决CSS margin-top在火狐下失效问题
    这期内容当中小编将会给大家带来有关如何解决CSS margin-top在火狐下失效问题,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。margin-top属性在火狐及IE下...
    99+
    2022-10-19
  • 怎么解决IE8中关于margin collapsing的问题
    本篇内容介绍了“怎么解决IE8中关于margin collapsing的问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读...
    99+
    2022-10-19
  • firefox中div重叠覆盖之前ul的问题如何解决
    这篇文章主要介绍“firefox中div重叠覆盖之前ul的问题如何解决”,在日常操作中,相信很多人在firefox中div重叠覆盖之前ul的问题如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操...
    99+
    2022-10-19
  • Bootstrap列的垂直间距遇到堆叠问题如何解决
    这篇文章主要介绍“Bootstrap列的垂直间距遇到堆叠问题如何解决”,在日常操作中,相信很多人在Bootstrap列的垂直间距遇到堆叠问题如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方...
    99+
    2022-10-19
  • 如何解决Win7快速启动栏图标重叠的问题
    Win7快速启动栏图标重叠怎么办?下面为大家介绍: 1、中毒了,下载360系统急救箱查杀一下。下载地址 http://down.360safe.com/360compkill5.0.zip 2、显卡驱动过老,更新显卡驱动...
    99+
    2023-05-26
    快速启动栏 图标 问题 Win7
  • 如何解决CSS3的opacity属性带来的层叠顺序问题
    这篇文章主要介绍“如何解决CSS3的opacity属性带来的层叠顺序问题”,在日常操作中,相信很多人在如何解决CSS3的opacity属性带来的层叠顺序问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用...
    99+
    2022-10-19
  • IE6、IE7、Firefox中margin问题的解决办法是什么
    这期内容当中小编将会给大家带来有关IE6、IE7、Firefox中margin问题的解决办法是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。你对IE6/IE7/Fir...
    99+
    2022-10-19
  • 解决python绘图使用subplots出现标题重叠的问题
    先上图 遇到的问题 使用plt.subplots(2,2)绘图时,子图的标题和上图重叠,影响观感: 源代码: import numpy as np from scipy im...
    99+
    2022-11-12
  • css如何解决文字和text-decoration:underline下划线重叠问题
    这篇文章给大家分享的是有关css如何解决文字和text-decoration:underline下划线重叠问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、text-deco...
    99+
    2022-10-19
  • Android中Fragment管理及重叠问题的解决方法
    一、Fragment介绍 fragment在3.0被引入以后,项目使用fragment越来越多,特别是主界面是底部tab页点击切换更换内容,当然啦, Fragment 在项目...
    99+
    2022-06-06
    方法 fragment Android
  • 如何只使用CSS创建折叠标题效果的方法
    小编给大家分享一下如何只使用CSS创建折叠标题效果的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!折叠标题是向用户显示重要信息的绝佳解决方案,例如特价优惠和密...
    99+
    2023-06-08
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作