BFC详解

1.什么是BFC

BFC(Block formatting context) 直译为"块级格式化上下文"。

简单概括:如果给一个div添加overflow:hidden; div内部的浮动元素就会被它包裹起来,并且与div外部毫不相干。

BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。

建议:记住上面的简单概括,方面记忆和理解

2.产生BFC的条件

不是所有的元素模式都能产生BFC,w3c 规范:

display 属性为 block, list-item, table 的元素,会产生BFC。
值得注意的是,display属性,比如 line 等等,他们创建的是 IFC ,暂且不研究。

什么条件下会触发元素产生BFC呢?有四种情况:

  1. float属性不为none;
  2. position为absolute或fixed;
  3. display为inline-block, table-cell, table-caption, flex, inline-flex;
  4. overflow不为visible。

3.BFC的特性

我们已经了解了产生BFC的元素和触发条件,那么我们难免心中就会有一个疑问:BFC是用来干嘛的呢?
不要急,在了解BFC的用途前,我们先来了解下BFC的特性,通过了解特性,才能更好的去理解BFC的作用。

BFC布局规则特性:

  1. 在BFC中,盒子从顶端开始垂直地一个接一个地排列
  2. 盒子垂直方向的距离由margin决定。属于同一个BFC的两个相邻盒子的margin会发生重叠
  3. 在BFC中,每一个盒子的左外边缘(margin-left)会触碰到容器的左边缘(border-left)(对于从右到左的格式来说,则触碰到右边缘
  4. BFC的区域不会与浮动盒子产生交集,而是紧贴浮动边缘
  5. 计算BFC的高度时,自然也会检测浮动或者定位的盒子高度

苦涩难懂的特性不理解不要紧,我们先有个印象,根据用途去深一步理解。

4.BFC的用途

BFC能用来做什么?常用用途1和2~~~

(1) 清除元素内部浮动

只要把父元素设为BFC就可以清理子元素的浮动了,最常见的用法就是在父元素上设置overflow: hidden样式,对于IE6加上zoom:1就可以了。

主要用到计算BFC的高度时,自然也会检测浮动或者定位的盒子高度。

解释:
若不创建BFC,父元素的高度为零;而通过overflow: hidden使父元素产生BFC,根据BFC的特性,计算BFC的高度时,自然也会检测浮动或者定位的盒子高度。,此时,父元素就被“撑开了”。

(2) 解决外边距合并问题
外边距合并的问题。

主要用到盒子垂直方向的距离由margin决定。属于同一个BFC的两个相邻盒子的margin会发生重叠

解释:
属于同一个BFC的两个相邻盒子的margin会发生重叠,那么我们创建不属于同一个BFC,就不会发生margin重叠了。

(3) 制作右侧自适应的盒子问题

主要用到普通流体元素BFC后,为了和浮动元素不产生任何交集,顺着浮动边缘形成自己的封闭上下文

内容概要:本文系统梳理了2025年数学前沿领域的研究动态与发展趋势,涵盖代数几何、数论、微分几何、拓扑学、偏微分方程、数学物理等多个核心方向,并介绍了当前国际数学研究的三大主流趋势:代数几何与数论、分析与偏微分方程、几何拓扑与表示论。文中重点报道了青年数学家王虹成功证明三维挂谷猜想的重大突破,以及韦东奕在偏微分方程与几何分析方面的研究成果,展现了中国数学界的崛起态势。同,文档还涉及数学基础研究、应用数学、数学教育、期刊评价体系及国际数学强国格局等内容,引用大量视频、文章和权威资源,呈现数学学科的全貌与发展前景。; 适合人群:具备一定数学基础的本科生、研究生及科研工作者,关注数学前沿发展的教师、科技爱好者以及从事人工智能、物理、工程等相关领域并需数学支撑的专业人士。; 使用场景及目标:①了解2025年数学领域的重要突破与研究热点,如挂谷猜想的证明、朗兰兹纲领、拓扑数据分析等;②把握数学各分支的前沿方向与交叉应用,服务于科研选题、学术规划或跨学科研究;③获取权威学习资源与经典文献推荐,辅助数学学习与教学实践。; 阅读建议:此文档为信息聚合型资料,建议结合所列视频、书籍和论文深入拓展学习,重点关注核心突破案例(如王虹、韦东奕)与主流研究方向的演进脉络,宜以批判性思维梳理知识体系,避免碎片化阅读。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值