CSS 中的 BFC 是什么,有什么作用?

CSS中的BFC详细讲解(易懂) 一个BFC区域只包含它的子元素,不包含其子元素的子元素。成为一个BFC区域要满足一定的条件。不同的BFC区域相互独立,互补影响。BFC是属于普通流的,我们可以把BFC看成页面的一块渲染区,他有自己的渲染规则,简单来说就是BFC可以看做元素的属性,当元素有了BFC这个属性,这个元素可以看做隔离了的容器,容器里面的元素不会在布局上影响到外面的元素。 阅读详情

BFC,即“块级格式化上下文”(Block Formatting Context),是 CSS 中一个重要的概念,它指的是一个独立的渲染区域,让块级盒子在布局时遵循一些特定的规则。BFC 的存在使得我们可以更好地控制文档流,处理浮动、清除浮动等问题。

 

BFC 的形成条件包括:

  • 根元素或包含它的元素
  • 浮动元素(元素的 float 不是 none)
  • 绝对定位元素(元素的 position 为 absolute 或 fixed)
  • 行内块元素(元素的 display 为 inline-block)
  • 表格单元格(元素的 display 为 table-cell)
  • 表格标题(元素的 display 为 table-caption)
  • overflow 值不为 visible 的块元素

BFC 的特性包括:

  • 内部的 Box 会在垂直方向上一个接一个地放置。
  • Box 垂直方向的距离由 margin 决定,属于同一个 BFC 的两个相邻 Box 的 margin 会发生重叠。
  • 每个元素的左外边距与包含块的左边界相接触(从左到右),即使浮动元素也是如此。
  • BFC 的区域不会与浮动元素重叠。
  • BFC 在页面上是一个独立的容器,外面的元素不会影响里面的元素,反之亦然。
  • 计算 BFC 的高度时,浮动元素也参与计算。

BFC 的应用场景包括:

1、清除浮动:

当一个容器内部有浮动元素时,如果没有给容器创建 BFC,那么容器的高度将无法被撑开,导致一些问题,如边框或背景不显示、文字环绕等。可以通过在容器上创建 BFC 来解决这个问题,例如可以将容器的 overflow 设置为 hidden。

2、避免 margin 重叠:

当两个相邻的盒子都设置了 margin 时,它们之间的距离将会是两者 margin 中较大的一个,而不是将两者相加。如果将其中一个盒子放入一个 BFC 中,可以避免 margin 重叠的问题。

3、实现多栏布局:

通过创建 BFC,可以将容器划分为独立的区域,在这些区域内布局,从而实现多栏布局。

4、防止浮动元素遮盖:

当一个元素内部有浮动元素时,如果该元素没有创建 BFC,那么它的高度会缩为0,从而导致元素下面的内容被浮动元素遮盖。可以通过在元素上创建 BFC 来防止这种情况的发生。

总之,理解 BFC 的概念及其应用场景,对于编写复杂的布局代码非常有帮助。通过创建 BFC,我们可以解决许多常见的布局问题,例如清除浮动、避免 margin 重叠、实现多栏布局等。

更多详细的CSS知识体系,可以通过这里了解学习

为帮助到一部分同学不走弯路,真正达到一线互联网大厂前端项目研发要求,首次实力宠粉,打造了《30天挑战学习计划》,内容如下:

HTML/HTML5,CSS/CSS3,JavaScript,真实企业项目开发,云服务器部署上线,从入门到精通

  • PC端项目开发(1个)
  • 移动WebApp开发(2个)
  • 多端响应式开发(1个)

共4大完整的项目开发 !一行一行代码带领实践开发,实际企业开发怎么做我们就是怎么做。从学习一开始就进入工作状态,省得浪费时间。

从学习一开始就同步使用 Git 进行项目代码的版本的管理,Markdown 记录学习笔记,包括真实大厂项目的开发标准和设计规范,命名规范,项目代码规范,SEO优化规范

从蓝湖UI设计稿 到 PC端,移动端,多端响应式开发项目开发

  • 真机调试,云服务部署上线;
  • Linux环境下 的 Nginx 部署,Nginx 性能优化;
  • Gzip 压缩,HTTPS 加密协议,域名服务器备案,解析;
  • 企业项目域名跳转的终极解决方案,多网站、多系统部署;
  • 使用 使用 Git 在线项目部署;

这些内容在《30天挑战学习计划》中每一个细节都有讲到,包含视频+图文教程+项目资料素材等。只为实力宠粉,真正一次掌握企业项目开发必备技能,不走弯路 !

过程中【不涉及】任何费用和利益,非诚勿扰 。

详细进入了解

30 天挑战学习计划 Web 前端从入门到实战 | arry老师的博客-艾编程

UE4初学笔记_02_编辑器界面 不同版本可能不一样,这里是4.25 UE4编辑器主界面(也称为关卡编辑器)主要用于构建世界场景和关卡以及放置资源。 1.菜单栏 2.关卡编辑器(Level Editor)工具栏 3.“模式”(Modes)面板 4.“内容浏览器”(Content Browser)面板 5.“视口”(Viewport)面板 6.“世界大纲视图”(World Outliner)面板 7.“细节”(Details)面板 1.菜单栏 菜单栏包含“文件”(File) 、“编辑”(Edit) 、“窗口”(Win. 阅读详情

相关推荐

STC8单片机低功耗延时优化实践:从循环等待到定时唤醒

本文深入探讨了STC8单片机低功耗延时优化的核心方法,即利用掉电唤醒定时器(WKT)替代传统的循环等待,实现从“空转耗电”到“定时唤醒”的转变。通过实战代码演示了如何编写低功耗延时函数,将待机电流从mA级降至μA级,并分析了精度、唤醒时间等关键权衡点,为电池供电的物联网设备提供了有效的续航优化方案。

pea55的博客 326

css BFC及其作用简介

一、BFC的定义 BFC(block formatting context)块级格式化上下文,它是页面中的一块渲染区域,并且有一套属于自己的渲染规则,它决定元素如何对内容进行布局,以及与其他元素的关系和相互作用。------总的来说就是:该区域中的元素布局跟外部互不影响。 二、理解一下文档定位 1.正常情况下 HTML元素按照先后顺序从上到下,从左到右布局,其中块级元素被渲染成为一整行,而行内元素则从左到右排列,直至占满一行为止然后换行。 2.float–浮动 在浮动布局中,元素首先按照正常文档流的位置来出

weixin_42130298的博客 826

四足机器人跨楼层轨迹规划:SCAN-Planner-Pure-ROS2开源项目实践指南

在机器人导航领域,路径规划是让机器人从起点安全、高效移动到目标点的核心技术。其原理通常基于环境地图(如占据栅格地图或八叉树地图),通过搜索算法(如A*、RRT*)在配置空间中找到一条无碰撞的可行路径。这项技术的价值在于赋予机器人在复杂、非结构化环境中的自主移动能力,是巡检、救援、物流等应用场景的基石。对于四足机器人而言,其运动能力超越了轮式平台,能在楼梯、斜坡等三维地形中移动,这使得传统的二维规划不再适用,需要专门的三维轨迹规划算法。SCAN-Planner-Pure-ROS2正是这样一个专注于解决四足机器

weixin_30700977的博客 467

【CSS】什么是BFC?BFC有什么作用?

BFC(block formatting context)块级格式化上下文,他是页面中的一块渲染区域,并且有一套属于自己的渲染规则,BFC 是一个独立的布局环境,具有BFC特性的元素可以看作是隔离的独立容器,容器里面的元素不会在布局上影响到外面的元素。:只需要把两个div放置不同BFC中,那这两个BFC的内容将不会互相干扰,将两个di分别放置container容器中,然后通过overflow:hidden触发BFC;:这是因为给子元素添加了浮动,使它脱离了文档流;:红色方框覆盖蓝色方块;

m0_61049675的博客 6580

上交开源装甲板识别代码分析

GitHub - xinyang-go/SJTU-RM-CV-2019: 上海交通大学 RoboMaster 2019赛季 视觉代码这里着重分析主函数main.cpp与装甲板识别部分的工程文件armer文件夹。由于未完全分析,所以对于其中log.h、options.h中的函数并不清楚,在分析时会跳过这些内容。该文章重点分析的是思路,部分函数中的数学逻辑、数据处理思路这里不详细解释(没能力)所有思维导图通过 知犀知犀思维导图 - 知犀官网 (zhixi.com)原创。

qq_42104961的博客 1320

HP MSA 2050磁盘阵列配置步骤

一、盘阵与服务器直接连接 1.1 单控制器配置:一台服务器/ 一个 HBA/ 单路径 1.2 双控制器配置:两台服务器/ 每台服务器一个 HBA/ 双路径 二、通过交换机(一般光纤交换机) 2.1 双控制器配置:两台服务器/ 两台交换机 三、配置MSA2050 3.1在完成硬件安装后,可以访问控制器模块的基于 Web 的管理界面 SMU (存储 管理实用程序),以便监视和管理此存储系统。 首先...

jw5493的博客 1万+

css中的BFC

css中的BFC BFC(Block Formatting Context)格式化上下文,是Web页面中盒模型布局的CSS渲染模式,指一个独立的渲染区域或者说是一个隔离的独立容器。 形成BFC的条件 ​ 1、浮动元素,float 除 none 以外的值; ​ 2、定位元素,position(absolute,fixed); ​ 3、display 为以下其中之一的值 inline-block,table-cell,table-caption; ​ 4、overflow

weixin_48210599的博客 574

【Unity实战】实现最完美最简单的UI适配方案,背景压缩或者拉伸变形解决方案,手机刘海屏适配,适配不同分辨率,不同尺寸,不同设备。

这期来讲一个简单的UI设计方案,很多同学可能搞不懂锚点、轴心这些概念,导致做好的UI在别人的设备上,乱跑或者是重叠,或者是参加游戏老发时间比较紧来不及做适配,都可以来试试这个方法,通过填充边框来保持游戏画面的原始比例,所以它的缺点也很明显,在一些移动设备上会浪费比较大的显示面积。 unity不同设备UI变形? UI在不同设备上如何适配?

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 3654

了解CSS中的BFC

BFC是页面中的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素,反之亦然。它是CSS布局中的一部分,特别是在处理浮动、清除浮动、外边距折叠等方面发挥着重要作用。BFC可以看作是页面布局的一个“小世界”,在这个“小世界”里,元素的布局遵循特定的规则,而不会影响到外部的布局。BFC是CSS中一个非常重要的概念,它在页面布局中发挥着重要的作用。通过合理利用BFC的特性和触发条件,我们可以解决许多常见的布局问题,使得页面布局更加灵活和可控。

Dingdangr的博客 1814

TMS320F28377D双核开发例程 - DSP开发

首先,我们需要创建一个新的工程来进行开发。然后,选择适当的目标设备为TMS320F28377D,并设置工程的名称和存储位置。在上面的代码中,我们定义了一个128个元素的输入数组和输出数组。然后,我们使用一个简单的数字信号处理算法,将输入数组中的每个元素平方,并将结果存储到输出数组中。这个芯片的双核架构提供了更高的计算能力和灵活性,使得数字信号处理的开发更加高效和可靠。希望本文对您有所帮助!当应用程序在TMS320F28377D芯片上运行时,它将对输入数组中的每个元素进行平方运算,并将结果打印出来。

IfllUnity的博客 2517

一文读懂 CST 时/频域求解器

本文系统介绍了CST Studio Suite中的关键网格技术——六面体网格、四面体网格以及TLM求解器专用的八叉树非均匀网格技术。重点阐述了六面体网格的三项核心技术:理想边界拟合(PBA)技术可精确处理曲面边界,薄片技术(TST)能高效模拟薄层结构,自适应八叉树网格实现计算资源最优分配。同时详细对比了六面体网格与四面体网格的特点及适用场景,前者适用于系统级EMC/EMI分析等时域问题,后者擅长处理复杂曲面和异质材料的频域问题。

一只豌豆象的博客 469

学习css中BFC的理解、功能作用

想要理解BFC,就先了解什么是FC 1.【FC】 - Formatting Context FC的全称是Formatting Context(格式化上下文),元素在标准流里面都是属于一个FC的 官方文档对于FC的描述: Boxes in the normal flow belong to a formatting context,which may be block or inline,but not both simultaneously.Block-level boxes particip

m0_51636525的博客 231

最新扣子智能体教程:手把手教你接入抖音评论区,实现自动回复

摘要:本文介绍如何利用扣子(Coze)平台搭建智能体实现抖音评论自动回复。从准备工作(账号注册、权限申请)到智能体创建(提示词优化、模型选择),再到抖音API接入和自动回复逻辑设置,详细说明了每个步骤的操作方法。文章还提供了回复模板示例和优化建议,帮助提升互动效率。通过这套方案,创作者可以显著减轻评论区管理压力,增强用户互动体验。(149字)

互联网架构师笔记 990

CSS-BFC的概念及其作用

之前对 BFC 这个概念早有耳闻,但是因为在实际开发当中没怎么用过,所以对其也没太重视,也仅仅是知道这三个字母而已,对其具体的概念没有深入研究过。但是最近在看 CSS 相关的资料的时候,经常出现 BFC 这个词汇,发现不懂的话,会影响阅读的顺畅感。所以特意搜索了相关的资料,整理了下来。BFC 的定义首先 BFC 这个词语的英文的全称为 block formmating context。直译为”块级格

BigKongfuPanda的博客 1379

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

CSS BFC属性的概念及作用

BFC属性的概念及作用

weixin_51445423的博客 510

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

CSS 浮动的作用以及高度塌陷的解决方案BFC

CSS float浮动的作用以及高度塌陷的解决方法 目录CSS float浮动的作用以及高度塌陷的解决方法前言一、float浮动是什么?二、浮动属性的使用1.使用方法2.读入数据总结 前言 浮动属性是css样式中非常重要的属性,网页的导航条和左右导航栏等都靠浮动属性来完成。同时,浮动属性的浮动特性在一些布局中十分重要。 一、float浮动是什么? 浮动是什么? 在正常div布局中,每个div块元素都占据完整的一行,因此下一个div元素会出现在上一个div元素的下一行,整个布局是由上到下依次排列的。

LiXenon的博客 496

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

如何理解 CSS 的 BFC(块级格式化上下文)?它有什么作用和创建方式?

块级格式化上下文(BFC)是 CSS 布局模型中的一个基本概念。我们可以将其理解为一个独立的、受保护的“箱子”或布局环境。在这个“箱子”内部,块级元素按照特定的规则进行排列和渲染,而最关键的是,这个“箱子”内部的布局过程完全独立,不会对外部的元素产生影响,反之亦然。

破损的天堂鸟博客 1421

CSS布局新视角:BFC(块级格式化上下文)的作用与优势

BFC是CSS布局中的一个独立渲染区域,它拥有一套独特的渲染规则,决定了该区域内元素如何布局以及它们之间的相互作用。在BFC中,元素的布局遵循特定的规则,不会受到外部布局的影响,同时也不会影响外部布局。这种隔离性使得BFC在处理复杂布局时具有独特的优势。元素的float属性不是none;元素的position属性是absolute或fixed;元素的display属性是table-cellflexgridflow-root等;元素的overflow属性不是visible。

md_1008的博客 726

一文理解CSS中BFC的含义及其作用

1. 何为BFC BFC 的全程为块格式化上下文(Block Formatting Context),在 MDN 定义如下: 块格式化上下文(Block Formatting Context,BFC) 是Web页面的可视CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域。 简单理解为,BFC 是一个完全独立的盒子,内部的元素无论样式是什么,都不会影响到盒子外部的布局。 2. 触发BFC 根元素<html> 浮动元素(float不为none) 固定定位、绝对定

火星基地 1008

html/css中BFC的开启、关闭、作用

什么是BFC BFC是什么并不重要。重要的是开启它干嘛?以及如何开启它 根据W3C的标准,在页面中元素都一个隐含的属性叫做Block Formatting Context(块级 格式化 环境)简称BFC 开启元素的BFC后,元素会有如下特性: 1.父元素的垂直外边距不会和子元素重叠。 2.开启BFC的元素不会被浮动的元素所覆盖。 3.开启BFC的元素可以包含浮动的子元素。 ...

727

CSS3中 overflow:hidden;作用(创建BFC)

CSS overflow属性详解 overflow定义:超出部分内容的显示方式。 overflow有4个值,我们先来看看每个取值的基本作用和效果。 overflow:visible; 默认值,超出部分正常显示(正常超出显示)。 overflow:hidden; 超出部分隐藏(被修剪)不显示。 overflow:auto; 超出部分自动,如果横向或者纵向内容超出,不会在区域外显示,会出现横向或者纵向滚动条。 overflow:sc

jojoarare的博客 2530

深入理解CSS盒模型与BFC作用

&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;css盒模型&lt;/title&gt; &lt;style type="text/css"&gt; html *{ margin: 0; padding: 0; } &lt;/style&gt; &lt;/head&am

极夜之光的博客 267

CSS-12 CSS属性white-space、text-overflow;CSS函数:var、calc、blur、gradient;浏览器前缀;FC,BFC及其作用

CSS属性white-space、text-overflow;CSS函数:var、calc、blur、gradient;浏览器前缀;FC,BFC及其解决浮动高度坍塌

qq_54075517的博客 616

CSS | 请解释一下何为BFC以及它是如何工作的?

格式化上下文指的是初始化元素定义的环境。包含两个要点,一个是元素定义的环境,一个是初始化。在 CSS 中,元素定义的环境有两种,一种是块格式化上下文( Block formatting context ),另一种是行内格式化上下文( Inline formatting context )。 这两种上下文定义了在 CSS 中元素所处的环境,格式化则表明了在这个环境中,元素处于此环境中应当被初始化,即元素在此环境中应当如何布局等。以上解释专业点的说法是:在常规流中的框,都属于一个格式化的上下文中。

青春木鱼的博客 890

CSS BFC

文档中有三种流:普通流-块级元素、行内元素等普通标签。定位流-定义了position。浮动流-定义了float为left或者right。在实际开发中,这三种流之间可能会存在问题。比如margin重合。margin重合问题:如果两个div上下相邻,两个div同时设置了同一边的margin,margin会产生重合。比如上面的div设置了20px的margin-bottom,下面的div设置了30px的margin-top,两个div之间的margin并不是50px,而是会重合成30px。

mashirokayo的博客 1207

BFC是什么

BFC

qq_59164432的博客 157
上一篇: Web前端CSS清除浮动的5种方法
下一篇: 从零入门Vue.js!六步学习路线和知识体系盘点详解!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

艾编程前端技术

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

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

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

打赏作者

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

抵扣说明:

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

余额充值