Margin 塌陷问题如何解决?触发BFC。BFC的概念和触发条件

news/2025/9/22 18:32:13/文章来源:https://www.cnblogs.com/TreeCTJ/p/19105814

1️⃣ 什么是 Margin 塌陷

【现象】

  两个垂直方向相邻的块级盒子(兄弟或父子)之间的margin 会合并为其中的最大值,而不是两者相加。
【影响】

  兄弟元素:上下margin合并为其中的最大值
  父子元素:如果父元素没有padding 或 border,子元素的 margin-top会 透过 父元素与父元素的 margin-top合并

2️⃣ BFC(Block Formatting Context)是什么

【定义】

  1、BFC 是一个独立渲染区域,创建BFC的元素 内部的布局规则与外部隔离

  2、内部元素的margin 不会与 BFC外部 的 margin发生塌陷

  3、BFC区域不会与浮动元素重叠,会包裹内部浮动

  4、BFC的计算高度包含浮动子元素

 

3️⃣ 如何触发 BFC

触发属性示例
overflowvisible overflow:hidden / auto / scroll
display 特殊值 display: flow-root(推荐现代方案)、inline-blocktable-cell
浮动 float: left/right
定位 position: absolute / fixed
弹性/网格布局 display: flex / grid

 

4️⃣ 常见解决 Margin 塌陷的方法

方法代码示例原理
父元素创建 BFC overflow:hidden; / display: flow-root; BFC 内外 margin 不会塌陷
父元素加 padding 或 border padding-top:1px; / border-top:1px solid transparent; 子元素的 margin-top 不会透过 padding/border
浮动父元素 float:left; 浮动元素自动形成 BFC
flex/grid 布局 display:flex; Flex 容器是 BFC
伪元素清除 ::before { content:""; display:table; } display:table 也创建 BFC

 

5️⃣ BFC 除了解决 margin 塌陷还有什么作用?

  1、包含内部浮动元素(清除浮动)

  2、阻止文字环绕浮动

  3、隔离外部布局,防止浮动\外边距影响

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/909979.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站开发目的与意义wordpress 您没有足够的权限访问该页面.

如果需要一个全局对象,如对话框、系统日志、显卡等设备的驱动程序对象、一台PC连接一个键盘等。这样的全局对象只能是一个且是全局的,这就是单例模式,如何实现呢?1 不能在类外部通过构造函数新建对象:构造函数的访问方…

返利网站怎么做做我的狗在什么网站上看

以下内容摘自笔者即将出版的最新著作《深入理解计算机网络》一书。本书将于12月底出版上市,敬请留意!! 本书原始目录参见此文:http://winda.blog.51cto.com/55153/1063878 5.3.2 循环冗余校验检错方案 上节介绍的奇偶校验码&#…

哪些网站做品牌折扣的建站公司技术服务费

在开发工程中线程可以帮助我们提高运行速度,Android开发中我知道的线程有四个一个是老生长谈的Thread,第二个是asyncTask,第三个:TimetTask,第四个是Looper,四个多线程各有个的有点,Thread的运行速度是最快的,AsyncTas…

什么企业做网站比较方便呢微信注册小程序步骤

1, 概述 1.1 课题背景 本系统由说书客面向广大民营药店、县区级医院、个体诊所等群体的药品和客户等信息的管理需求,采用SpringSpringMVCMybatisEasyui架构实现,为单体药店、批发企业、零售连锁企业,提供有针对性的信息数据管理…

邵东网站开发微信小程序h5开发

flex如何做响应式设计Responsive design is not just about the web that automatically adjusts to different screen resolutions and resizeable images, but designs that are crucial for web performance.自适应设计不仅涉及可自动适应不同屏幕分辨率和可调整大小图像的网…

郑州门户网站建设哪家好有了自己的域名怎么做网站

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 随着互联网技术的不断…

广州建站模板诚信网站平台建设方案

在无限的整数序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...中找到第 n 个数字。 注意: n 是正数且在32为整形范围内 ( n < 231)。 示例 1: 输入: 3 输出: 3 示例 2: 输入: 11 输出: 0 说明: 第11个数字在序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... 里是0&#xff0c;它是…

伊犁州住房城乡建设局网站建站快车加盟

铁路订票管理系统按照权限的类型进行划分&#xff0c;分为用户和管理员两个模块。管理员模块主要针对整个系统的管理进行设计&#xff0c;提高了管理的效率和标准。主要功能包括个人中心、用户管理、火车类型管理、火车信息管理、车票预订管理、车票退票管理、系统管理等&#…

手机影视素材网站大全汽油价格92号最新调整时间

1. 指针和数组 C语言中只有一维数组&#xff0c;而且数组的大小必须在编译器就作为一个常数确定下来&#xff0c;然而在C语言中数组的元素可以是任何类型的对象&#xff0c;当然也可以是另外的一个数组&#xff0c;这样&#xff0c;要仿真出一个多维数组就不是难事。 对于一个…

app和网站哪个难做宁夏免费建个人网站

物品名称物品代码电池battery.small骨头碎片bone.fragments空的豆罐头can.beans.empty空的金枪鱼罐头can.tuna.empty摄像头cctv.camera木炭charcoal煤coal石油crude.oil炸药explosives动物脂肪fat.animal火药gunpowder高级金属矿hq.metal.ore金属碎片metal.fragments金属矿meta…

商家自己做的商品信息查询网站网站开发结论

本文实例讲述了PHP双向链表定义与用法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;由于需要对一组数据多次进行移动操作&#xff0c;所以写个双向链表。但对php实在不熟悉&#xff0c;虽然测试各个方法没啥问题&#xff0c;就是不知道php语言深层的这些指针和unset…

漯河市万金镇网站建设建设个人网站用到的技术

matlab语言丰富的图形表现方法&#xff0c;使得数学计算结果可以方便地、多样性地实现了可视化&#xff0c;这是其它语言所不能比拟的。;第一节 符号函数绘图第二节 图形编辑第三节 2D数据图第四节 3D数据图第五节 MATLAB的视图功能第六节 图像、视频和声音;plot —— 最基本的…

嘉兴品牌网站初学者求教怎样做网站

序言 Sentinel 是阿里巴巴开源的一款流量防护与监控平台&#xff0c;它可以帮助开发者有效地管理微服务的流量&#xff0c;实现流量控制、熔断降级、系统负载保护等功能。本文将介绍如何在项目中部署和配置 Sentinel 控制台&#xff0c;实现微服务的流量防护和监控。 一、Sen…

深圳网站开发的公司网站建设与管理案例...

智能优化算法应用&#xff1a;基于适应度相关算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于适应度相关算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.适应度相关算法4.实验参数设定5.算法…

长春做网站公司企业名录搜索软件 2022

上一篇文章已经介绍了线程的基本概念以及线程相关的API&#xff0c;下面来看一下线程池 一、线程池框架 1、线程池的优点 重用线程池中的线程&#xff0c;避免因为线程的创建和销毁所带来的性能开销。 能有效控制线程池的最大并发数&#xff0c;避免大量线程之间因互相抢夺系…

可以登录国外网站吗宿州城乡建设局网站

转载自 JAVA面试常考系列三 题目一 什么是迭代器(Iterator)&#xff1f; 迭代器&#xff08;iterator&#xff09;是一种对象&#xff0c;它能够用来遍历标准模板库容器中的部分或全部元素&#xff0c;每个迭代器对象代表容器中确定的地址。迭代器提供了一种方法&#xff0c;可…

网站建设三个友好网络营销理论包括哪些

我不知道正确的方法&#xff0c;但是这种手动方法是我用于简单脚本的方法&#xff0c;似乎已经适当地执行了。我会假设我所在的任何目录&#xff0c;我的程序的Python文件都在相对的src /目录中&#xff0c;我要执行的文件(具有正确的shebang和执行权限)被命名为main.py。$ mkd…

火速收藏!2025 云栖大会 AI 中间件议程看点全公开(附免费报名通道)

AI 正在重塑世界,也在颠覆其应用的构建范式 AI 中间件正成为连接 AI 技术与产业应用的纽带 2025 云栖大会“云智一体 碳硅共生”的主题下 9月26日,云栖小镇D1-3馆「AI 中间件论坛」 将聚焦 AI 时代中间件的技术演进…

Flutter跨平台工程实践与原理透视:从渲染引擎到高质产物 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

第二次软工作业——个人项目 - LXJ

github仓库:https://github.com/ApplePI-xu/3123004185这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/Class12Grade23ComputerScience这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/Class12G…