CSS外边距合并问题以及方法

css拓展--盒子外边距塌陷/合并问题及其解决方法 盒子外边距塌陷/合并问题及其解决方法 阅读详情

外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。

合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。

只有普通文档流中块框的垂直外边距才会发生外边距合并。行内框、浮动框或绝对定位之间的外边距不会合并。

示例代码:

<style>
    div {
      width: 100px;
      height: 100px;
    }

    .one {
      background-color: orange;
      margin-bottom: 10px;
    }

    .two {
      background-color: pink;
      margin-top: 20px;
    }
  </style>
</head>

<body>
  <div class="one">one</div>
  <div class="two">two</div>
</body>

 

注意:这里上下块级元素之间的距离是20,而不是 20+10

解决办法

其实这是一个浏览器的Bug,日常工作中我们应该尽量避免。在开发中我们由上到下来进行页面布局,上面的布局如果涉及到外边距的话尽量使用margin-bottom,而下面的布局就不要使用margin-top了,简单来说就是兄弟元素的垂直外边距遵循你设置我就不设置。

举例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>6.4 CSS外边距合并</title>
    </head>
    <style>
        /*去除默认的值*/
        * {
            margin: 0;
            padding: 0
        }
 
        div {
            border: 1px solid black;
            background-color: lightblue;
            margin: 20px;
            padding: 20px;
            text-align: center;
        }
 
        h2 {
            margin: 30px 0;
        }
 
        p {
            background: #6ba2cc;
            margin: 10px;
            padding: 5px;
        }
    </style>
    <body>
        <div>
            <h2>《游子吟》</h2>
            <p>慈母手中线,游子身上衣。</p>
            <p>临行密密缝,意恐迟迟归。</p>
            <p>谁言寸草心,报得三春晖。</p>
        </div>
    </body>
</html>

 运行后如图:

 分析:以上示例中div有一个外边距20px,内边距20px。如下图展示:

 h2上下边距是30px,紧接着h2下面是p标签,注意观察外边距。

p是外边距10px,内边距5px,如下图所示:两个P标签之间的距离实际上只有10px,像这种外边距相同的情况下,外边距就会合并显示10px。

那如果一个外边距是30px,一个外边距是10px呢?刚好就是咱们示例中的h2和p元素。合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者,也就是30px。

外边距合并初看上去可能有点奇怪,但是实际上,它是有意义的。以由几个段落组成的典型文本页面为例。第一个段落上面的空间等于段落的上外边距。如果没有外边距合并,后续所有段落之间的外边距都将是相邻上外边距和下外边距的和。这意味着段落之间的空间是页面顶部的两倍。如果发生外边距合并,段落之间的上外边距和下外边距就合并在一起,这样各处的距离就一致了。

 说明:只有普通文档流中块框的垂直外边距才会发生外边距合并。行内框、浮动框或绝对定位之间的外边距不会合并。

CSS外边距合并问题以及方法_网页制作_青青个人博客

百度贴吧爬虫实战:完整实现与使用指南 使用 csv 模块创建写入器,首先写入表头("标题" 和 "链接"),然后遍历帖子字典,将每个标题和链接作为一行写入文件。首先检查内容是否为空,然后通过查找 JSON 结构的起始({)和结束(})位置,提取有效的 JSON 片段。接着遍历帖子列表中的每个条目,提取标题文本和对应的链接,对于相对路径的链接会自动补全为完整的 URL。从 JSON 提取标题和链接此方法专门用于从解析后的 JSON 数据中提取帖子标题和对应的链接。提取到的标题和链接以字典形式返回,键为标题,值为对应的完整链接。 阅读详情

相关推荐

海康/大华设备如何接入GB28181平台?最新2022版互联避坑指南

本文详细解析了海康/大华设备接入GB28181平台的最新2022版互联避坑指南,涵盖参数配置、实时视音频点播协议交互及典型故障排查。重点介绍了GB/T28181-2022标准下的设备编码规范、SIP服务器配置及媒体流保活机制,帮助工程团队高效解决设备离线和媒体流中断等问题。

weixin_30733003的博客 688

CSS外边距和并(塌陷)及多种解决方法

外边距合并(叠加)是一个相当简单的概念。但是,在实践中对网页进行布局时,它会造成许多混淆。简单地说,外边距合并指的是,当两个,它们将形成一个外边距。合并后的外边距的高度等于两个发生合并的外边距的高度中的。当一个元素出现在另一个元素上面时,第一个元素的下外边距与第二个元素的上外边距会发生合并。请看下图:外边距合并初看上去可能有点奇怪,但是实际上,它是有意义的。以由几个段落组成的典型文本页面为例。第一个段落上面的空间等于段落的上外边距。

wshwsh_的博客 1846

Linux内核4.14版本——drm框架分析(1)——drm简介

drm框架分析

yangguoyu8023的博客 1万+

外边距合并问题

1.外边距合并 外边距合并指的是:当两个(垂直外边距)相遇时,它们将合并成一个外边距。 合并后的外边距的高度等于两个发生合并的外边距的高度中较大的那个。 2.发生合并的几种情况 父子元素之间 当一个元素包含在另一个元素中时(假设没有内边距或边框把外边距分隔开),它们的上和/或下外边距也会发生合并。 解决办法: 方法一:给父元素的overflow属性设置为hidden。 方法二:给父元素添加border属性; 方法三:给父元素设置内边距(padding); 兄弟元素之间 当一个元素出现在另

会飞的笨蛋Y的博客 962

Altium Designer铺铜陷阱:为什么你的死铜总是清除不干净?

本文深入探讨Altium Designer中铺铜操作导致死铜无法清除的常见问题,分析死铜形成的五大诱因,并提供高级参数优化和网络连接性验证技巧。通过调整边界计算精度和泪滴算法设置,有效解决死铜残留问题,提升PCB设计质量与制造良率。

weixin_29169505的博客 359

K-GAS解读(08)

大众kgas标准,大众及其供应商kgas

m0_51113317的博客 598

关于CSS学习中出现的外边距合并问题

关于CSS学习中出现的外边距合并问题

qq_45795772的博客 1194

十九、帧间预测编码_2、解码、显示顺序与图像管理、参考帧管理

一、基本概念 1.1H.264的解码顺序和显示顺序: 解码过程中,每一帧的数据按照相应的NAL Unit在码流中的顺序传入解码器进行解码 由于B帧的存在,视频帧在输出时会进行顺序重排 1.2frame_num与POC frame_num:表示解码顺序 POC:表示显示顺序(picture_order_count) 在H.264的码流中,表示解码顺序和显示顺序分别有相应的语法元素表示。这两个值都会在码流中保存,并在读取slice信息时解析(SliceHeader中) 1.3参考帧列表 某一帧图像在解

叮咚的博客 1330

day08

如果一个父元素没有上边框、上内边距、内联内容、清除浮动等,那么它的上外边距会与其第一个子元素的上外边距合并。">">第一个子元素</p></div>在这种情况下,父元素和第一个子元素的上外边距会合并,最终的上外边距是50px。同样,如果一个父元素没有下边框、下内边距、内联内容、清除浮动等,那么它的下外边距会与其最后一个子元素的下外边距合并。">">最后一个子元素</p></div>在这种情况下,父元素和最后一个子元素的下外边距会合并,最终的下外边距是50px。

thinkingicecola的博客 873

SAP BOM反查(可追溯值至顶级)

功能介绍:BOM层数在7层以内的(含7层)的物料,执行后都可以查询到顶级的BOM,逻辑很简单,后期如BOM层数增加,可自行增加查询逻辑。 *&---------------------------------------------------------------------* *& Report ZBOM_CHECK *&---------------------...

SAP阿狸 6062

SpringBoot一次请求中缓存数据,请求结束就清除的4种方法,你会几种?

通过以上四种方法,你可以在 SpringBoot 的一次请求中缓存数据,并在请求结束后自动清除这些缓存数据。使用 ThreadLocal:适用于需要跨多个方法调用的缓存数据,灵活性高,但需要注意内存泄漏问题。使用 AOP:适用于全局性的缓存管理,代码更加优雅,但需要对 AOP 有一定的了解。使用 ServletRequestListener:适用于简单的请求生命周期管理,配置简单,但功能相对有限。使用 HttpServletRequest 的 setAttribute 和 getAttribute。

java专栏 1295

外边距合并

【代码】外边距合并。

m0_72056325的博客 584

知识图谱设计简记

知识图谱是一种语义化的知识表示框架,通过实体-关系-属性三元组形式表达现实世界关联。其核心价值在于关联化整合数据、支持可解释性推理和赋能智能化应用。知识图谱可分为通用型和领域型两类,基本构成包括实体、关系、属性等基础元素,以及本体和实例等架构层元素。设计方法主要有自上而下、自下而上和混合式三种,需遵循业务导向、一致性等原则。在建模时需要明确属性与实体的判断标准,规范处理关系的方向性与对称性,并合理构建多重关系。主流技术框架如RDF和属性图体系均支持多重关系建模,选择需考虑业务需求。本体作为知识图谱的概念骨架

生活在别处 363

CSS中外边距合并问题解决方法

CSS中外边距合并问题解决方法: 父子级:1.给父元素添加边框属性; 2.给父元素或者子元素添加浮动属性(让两者不在一个文档流中); 3.给父元素或者子元素添加position:absolute属性; 4.给父级元素设置overflow:hidden属性(sticky定位中不可使用,需要滚动条); 5.给父元素或者子元素添加display:inline-block属性; 6.将本应该设置给子元素的外边距设置给父元素的内边距(导致盒子变大,可更改盒模型或 者更改height)。 兄弟级:将本应该设置

Lxydzh的博客 458

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

css外边距合并(塌陷)问题解决方法 、css盒模型概述

所有 HTML 元素都可以视为方框。在 CSS 中,在谈论设计和布局时,会使用术语“盒模型”或“框模型”。CSS 盒模型实质上是一个包围每个 HTML 元素的盒子。它包括:外边距、边框、内边距以及实际的内容。下图展示了盒模型:内容 - 盒的内容,其中显示文本和图像。内边距 - 清除内容周围的区域。内边距是透明的,可以呈现元素的背景。边框 - 围绕内边距和内容的边框。外边距 - 清除边界外的区域。外边距是透明的,不会遮挡其后的任何元素。盒模型允许我们在元素周围添加边框,并定义元素之间的空间。

Czyqyf的博客 782

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

CSS的border 边框padding 内边距margin 外边距,外边距合并,塌陷问题解决方法

盒子模型(Box Model)组成 border 边框 content 内容 padding 内边距 margin 外边距 所谓盒子模型:就是把HTML页面中布局元素看作是一个矩形的盒子,也就是一个盛装内容的容器。 CSS盒子模型本质上是一个盒子,封装周围的HTML元素,它包括:边框、外边距、内边距和实际内容。

m0_51796659的博客 735

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

css的外边距合并问题的解决方法

css的外边距合并问题解决方法 父子级 <!--结构 --> <div class="outer"> <div class="inner"></div> </div> /*样式*/ <style> .outer{ width: 200px; height: 200px; background-color: pink; } .inner{ width: 100px; height

qq_46051400的博客 337

CSS---外边距合并问题及解决方法

CSS外边距合并 两个垂直方向的外边距相遇的时候,会发生合并形成一个外边距。 合并后的外边距的高度是两者中外边距高度较大的那个值。 外边距合并的两种常见情况: 1.当一个元素包含在另一个元素中时(假设没有内边距或边框把外边距分隔开),它们的上和/或下外边距也会发生合并 2.当一个元素出现在另一个元素上面时,第一个元素的下外边距与第二个元素的上外边距会发生合并 <!DOCTYPE...

maidu_xbd的博客 1493

css外边距合并和外边距塌陷问题的解决方法

外边距合并图如下: 外边距合解决方法:只需给其中一个div设置margin值即可解决; <style> .box1, .box2 { width: 200px; height: 200px; } .box1 { background: turquoise; margin-bottom: 20px; } .bo

想好了再写! 196

CSS中的外边距塌陷问题(外边距合并)及解决方法

外边距合并(叠加)的七种解决办法

qq_68510847的博客 661

前端css容易出现的样式问题和解决方法,比如外边距合并,外边距塌陷,图片底部缝隙,精灵图,弹性盒子居中等

css 1.外边距合并 2.外边距塌陷 3.padding撑大盒子:如果父子嵌套,子盒子没有宽度,盒子不会"撑大 4.margin的上下auto无效,左右居中 margin:0 auto ;//块级元素居中,必须要有"宽度" 5.图片底部缝隙问题 比较常用的几个css white-space:强制一行显示 overflow:hidden:超出隐藏 text-overflow:ellipis;超出显示省略号 [若是要显示省略号;这这三个样式连着一起用...

chengxue_123的博客 422

手把手教你干掉CSS外边距合并!这8种方法总有一款适合你

下次再遇到布局突然"缩水"的情况,记得先打开开发者工具的盒模型查看器,看看外边距到底被谁吃掉了!(超级重要)子元素的margin-top直接把父元素顶下去了,这就是典型的父子元素外边距合并!各位前端er有没有遇到过这样的状况:明明给两个相邻的div都设置了margin,但实际显示效果却像只应用了一个margin?浮动元素、绝对定位元素、flex项目都不会触发外边距合并!BFC(块级格式化上下文)就像给元素加了防护罩,能阻断外边距合并!CSS的很多"坑"其实都是特性,就看我们能不能驾驭它啦!

binbinaijishu88的博客 1011

外边距会出现的问题和解决方法

* 超出部分:影藏;解决外边距塌陷问题 *//* margin-top: 50px;*/ /* 解决合并问题 *//* 相邻盒子垂直方向外边距合并问题:只需要给其中一个盒子设置外边距 */解决方法2:给父盒子添加padding(但会把盒子撑大),不推荐使用。解决方法3:给父盒子添加overflow:hidden。解决方法1:给父盒子设置边框。

rltyy的博客 464

【HTML/CSS】元素外边距的合并与塌陷

外边距合并(叠加)是一个相当简单的概念。但是,在实践中对网页进行布局时,它会造成许多混淆。简单地说,外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。两个在页面结构上上下相邻的元素,上面元素的下外边距会与下面元素的上外边距发生合并。 如上所示,有box1和box2两个上下相邻的元素,为box1指定20像素大小的下外边距,为box2指定50像素大小的上外边距,此时我们会看到,box1与box2之间的距离并非为70像素,而是

吴小兽_ 331

最全的css中解决外边距合并问题

外边距合并 首先,我们先来看一下什么是外边距合并。 外边距合并(叠加)是一个相当简单的概念。但是,在实践中对网页进行布局时,它会造成许多混淆。 简单地说,外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。 当一个元素出现在另一个元素上面时,第一个元素的下外边距与第二个元素的上外边距会发生合并。 但在垂直方向上又分为两种情况,父子级和兄弟级。接下来,我们分别来讨论这两种情况。 父子级 首先我们看一下外边距合并时的现象 <!DOC

renjie123321的博客 2902

CSS外边距合并的问题及解决措施

1、水平的margin不会被折叠,只有普通文档流中块框的垂直外边距才会发生外边距合并。行内框、浮动框或绝对定位之间的外边距不会合并     2、相邻的盒模型中,如果其中的一个是浮动的(floated),垂直margin不会被折叠,甚至一个浮动的盒模型和它的子元素之间也是这样。     3、设置了overflow属性的元素和它的子元素之间的margin不会被折叠(overflow取值为vis

Rita_jing的博客 4503
上一篇: [7月06日】阿里云免费SSL证书配置
下一篇: piwigo 怎么上传视频
wwwarewow
博客等级 码龄17年 4796粉丝 167原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wwwarewow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值