详细说说CSS中的BFC概念

CSS中的BFC:了解并掌握这个重要概念 综上所述,BFC是CSS中的一个重要概念,用于创建独立的渲染区域,控制元素的布局和排列。了解BFC的创建方式和规则,可以帮助我们解决布局问题、清除浮动和阻止外边距折叠等常见的前端开发任务。通过合理地利用BFC,我们能够更好地掌控元素的布局和排列方式,提高页面的可靠性和一致性。当浮动元素与其他元素重叠或破坏布局时,可以将包含浮动元素的父元素设置为BFC,以确保父元素占据正确的空间。在上述例子中,通过给父元素设置overflow为auto,创建了一个BFC,阻止了子元素和兄弟元素的外边距折叠。 阅读详情

什么是BFC

  • 在了解BFC之前,先了解两个概念:
  1. box就是盒模型。box是css布局的对象和基本单位,说白了就是咱们网页布局的基石,简单来说一个页面是由很多box(盒模型)组成的。
  2. 元素的类型也就是display属性。元素的类型和display属性决定了这个 box的类型。 不同类型的box,会参与不同的Formatting Context(一个决定如何渲染文档的容器-人话就是网页布局的一个范围),因此box内的元素会以不同的方式渲染(显示)。
  • 概念:BFC全称Block Formatting Context ,中文直译为块级格式上下文,它是⻚⾯中⼀个独⽴的容器,容器中的元素不会影响到外⾯的元素。它是W3C CSS 2.1 规范中的一个概念,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用。

    通俗的来说:BFC是一个独立的渲染区域,且有一套自己的渲染标准或规则。我们可以理解为一个箱子(实际上是看不见摸不着的),箱子内部的元素无论如何翻江倒海,都不会影响到外部。转换为BFC的理解则是:BFC中的元素的布局是不受外界的影响(我们往往利用这个特性来消除浮动元素对其非浮动的兄弟元素和其子元素带来的影响。比如清除浮动)并且在一个BFC中,块元素与行元素都会垂直的沿着其父元素的边框排列。

BFC布局规则

  1. 在BFC下,内部的box会在垂直方向,一个接一个地放置。
  2. box垂直方向的距离由margin决定。属于同一个BFC的两个相邻box的margin会发生重叠
  3. 在BFC中,每一个盒子的左外边缘(margin-left)会触碰到容器(父元素)的左边缘(border-left)(对于从右到左的格式来说,则触碰到右边缘),即使存在浮动也是如此。这说明BFC中子元素不会超出其父元素,而position为absolute的子元素可以超出其父元素
  4. BFC的区域不会与float box重叠。例子:两个div A和B,A不设置高度,其子元素进行浮动,B设置宽高不浮动,这时A浮动的子元素会覆盖B。给B加overflow:hidden。就不会重合。
  5. 计算BFC高度时,浮动的子元素也会参与计算
  6. BFC就是页面上的一个隔离的容器,容器里的子元素不会影响到外面的元素,反之亦然。
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>清除浮动</title>
  <style>
    .main {
      width: 500px;
      height: 300px;
      border: 1px solid red;
      margin: 150px auto;
    }
    .father-box {
      width: 300px;
    }
    .son-one {
      width: 100px;
      height: 100px;
      float: left;
      background-color: rosybrown;
    }
    .son-two {
      width: 100px;
      height: 100px;
      float: left;
      background-color: sandybrown;
    }
    .bottom-box {
      overflow: hidden;
      width: 400px;
      height: 50px;
      background-color: skyblue;
      text-align: right;
    }
  </style>
</head>
<body>
  <div class="main">
    <div class="father-box">
      <div class="son-one">A的子元素1</div>
      <div class="son-two">A的子元素2</div>
    </div>
    <div class="bottom-box">同级盒子B</div>
  </div>
</body>
</html>

在这里插入图片描述
7. 计算BFC的高度时,浮动元素也参与计算

如何触发 BFC(实际上就是让其脱离文档流)

  1. 根元素,即HTML元素
  2. 浮动元素,float 除 none 以外的值
  3. position的值不为static或者relative
  4. display不为none
  5. overflow 除了 visible 以外的值

BFC的应用

  1. 解决浮动塌陷问题

  2. 自适应两栏布局(我们还可以运用BFC可以阻止元素被浮动元素覆盖的特性来实现自 适应两栏布局。方法:给没有浮动的元素加overflow:hidden。)

  3. 解决设置margin值重叠问题。

    总结:BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。它规定了元素与其他元素的关系和相互作用。

不用写触发器!帆软填报报表自动记录创建/修改时间的终极方案 本文详细介绍了帆软填报报表中无需编写数据库触发器,即可自动记录数据创建时间和修改时间的终极方案。该方案利用帆软内置函数和单元格条件属性,在应用层实现日期自动生成,有效规避了触发器带来的权限、维护和部署难题,为数据填报提供了更轻量、灵活且易于维护的解决方案。 阅读详情

相关推荐

解决AutoDock与Python版本冲突导致的内存泄漏问题:从BHtree *错误到环境配置优化

本文深入解析了AutoDock分子对接中常见的‘BHtree *’内存泄漏错误,其根源在于SWIG接口模块与Python运行环境的版本不匹配。文章提供了根治方案:通过构建Python 2.5.4与MGLTools 1.5.6的黄金兼容组合,并详细指导环境清理、安装配置及实战测试,从而彻底解决该内存泄漏问题,确保AutoDock工作流的稳定运行。

g5h6i的博客 1113

BFC是什么

面试必会知识BFC 文章目录面试必会知识BFC前言一、什么是BFC二、BFC的特点三、BFC布局规则四、哪些元素会产生BFC五、在布局中BFC的应用场景总结 前言 本片文章主要总结了面试中常问的面试题BFC 首先了解一下什么是BFC 一、什么是BFC 1、BFC即 Block Formatting Contexts (块级格式化上下文), 是 W3C CSS2.1 规范中的一个概念。 2、BFC是指浏览器中创建了一个独立的渲染区域,并且拥有一套渲染规则,他决定了其子元素如何定位,以及与其他元素的相互关系

qq_43205326的博客 2万+

自动驾驶开发者必看:如何用Impromptu VLA数据集提升模型在乡村道路的表现(附实战代码)

本文为自动驾驶开发者提供了利用Impromptu VLA开源数据集提升模型在乡村道路等极端场景表现的实战指南。该数据集专门针对边界模糊道路、非常规障碍物等非结构化环境,通过精选的8万多个极端场景片段,帮助模型弥补数据分布偏差。文章详细介绍了环境搭建、数据准备、模型微调及性能评估的全流程,并附有实战代码,旨在系统性提升自动驾驶系统在长尾场景下的鲁棒性。

t8u9v0w1x的博客 243

BFC是什么?简单易懂,个人总结,一篇文章让你理解掌握BFC

最近了解了一下前端面试题,发现有一个名词经常出现,那就是BFC BFC是什么呢? 我们好像感觉这是新出的什么东西吗?怎么突然就闯入我们的世界了? 实则不然,其实呢 BFC 在前端随处可见,只要你有过接触,接触过前端,写过静态网页就已经和它打交道了。 接下来我们一起来看看 BFC是怎么定义的。 定义: BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域, 只有 Block-level box 参与,它规定了内部的 Block-level B

qq_46325260的博客 3607

Prompt提示优化工具

在大模型使用过程中,Prompt尤为重要。一个好的Prompt可以解决很多的问题。那么如何撰写一个完美的Prompt?下面汇总了一些Prompt工具,可以辅助日常Prompt的编写。

HJ_blog 3108

银行统一监管报送系统

依据《银行业金融机构数据治理指引》,银行业金融机构应当建立适应监管数据报送工作需要的信息系统,实现流程控制的程序化,提高监管数据加工的自动化程度。银行业金融机构应当将监管数据纳入数据治理,建立工作机制和流程,确保监管数据报送工作有效组织开展,监管数据质量持续提升。银行通常要对接报送EAST5.0、1104、CRSS等近40个监管应用,涉及近1000张报表。表13-01是主要的监管报送应用、报送依据、报送规范、监管机构名称。

银行信息系统应用架构详解 4348

面试官:请说说什么是BFC?大白话讲清楚

BFC到底是什么东西 BFC 全称:Block Formatting Context, 名为 “块级格式化上下文”。 W3C官方解释为:BFC它决定了元素如何对其内容进行定位,以及与其它元素的关系和相互作用,当涉及到可视化布局时,Block Formatting Context提供了一个环境,HTML在这个环境中按照一定的规则进行布局。 简单来说就是,BFC是一个完全独立的空间(布局环境),让空间里的子元素不会影响到外面的布局。那么怎么使用BFC呢,BFC可以看做是一个CSS元素属性 怎样触发BFC 这里.

蛙人的博客 1万+

基于YOLO的智能视频监控异常行为检测研究:从算法原理到落地部署的全栈实践

本文深入探讨如何利用 YOLO(You Only Look Once)系列算法构建一套端到端的异常行为检测系统。文章首先回顾 YOLOv8 在时空建模上的局限,然后提出“YOLO-STA(Spatio-Temporal Aggregation)”轻量级改进框架,在公开数据集 UCF-Crime 上将异常行为检测的 mAP@0.5 从 72.4 提升到 80.1;接着给出完整训练、推理、部署的 Python 代码(PyTorch + TensorRT),并介绍如何仅用 4 GB 显存的 Jetson Xavi

博客 1326

什么是BFC?BFC的原理是什么?如何创建BFC?

1,什么是BFC? 1)BFC(Block formatting context)直译为“块级格式化上下文”。BFC它是一个独立的渲染区域,只有Block-level box(块元素)参与,它规定了内部的Block-level box如何布局,并且与这个区域外部毫不相关。 2)可以理解成:创建了 BFC的元素就是一个独立的盒子,里面的子元素不会在布局上影响外面的元素(里面怎么布局都不会影响外部),...

前进的小申申 1万+

微信小程序 - 最新详细实现调起手机摄像头拍摄身份证人像面和国徽面取景框功能,在拍照相机上增加身份证证件照的轮廓或自定义文字,支持替换扫描拍摄辅助线图片及文本,小程序实现拍照身份证时带取景轮廓框拍摄!

微信小程序,身份证,证件照,人像,证件照提示框模板,vue身份证拍照框,摄像机相机里有引导内容,取景框拍摄,微信小程序实现拍照界面自定义实现,自拍人相框拍摄,取景框,户口簿取景框,画布指定区域生成图片,微信小程序身份证正反面拍照如何加入辅助图片引导照片,身份证取景框拍摄,服务器,上传,正反面,调起手机摄像头:拍摄身份证的正反面,自定义身份证取景框,在相机上绘制“身份证轮廓“与提示文字,拍摄身份证时出现人像框怎么实现,在相机上增加图片和文字,微信小程序怎么给调起的相机加入自定义图片,小程序实现给相机上面

🏆 前端领域优质创作者 1万+

遗传算法(GA)全面解析:从生物基础到工程实践

本文全面解析了遗传算法(GA),从其生物基础到工程实践应用。遗传算法模拟自然进化过程,通过选择、交叉和变异等操作在解空间中高效搜索最优解。文章详细介绍了算法的生物学基础(达尔文进化论、孟德尔遗传定律)、基本概念(种群、个体、基因等)和核心思想。重点阐述了遗传算法的数学模型,包括编码机制、适应度函数设计、遗传算子(选择、交叉、变异)以及关键控制参数。最后提供了一个完整的Python实现示例,展示了遗传算法求解函数最大值问题的具体应用。该算法具有群体搜索、概率导向、无需梯度等特点,适用于各类复杂优化问题。

qq_42212808的博客 1176

什么是BFC?

面试题——什么是BFC

Code6E的博客 2116

【调优】OpenClaw调优之模型(tokens)篇

OpenClaw用户常遇四大痛点:规则被无视、API账单暴涨、低效模型选择、记忆丢失。通过/context list命令可解析上下文组成,包括工作区配置、引导参数限制、系统提示词等关键信息。重点需关注Token消耗来源,如核心配置文件、技能工具说明等,避免静默截断。建议精简非必要内容,优化记忆机制,平衡功能与成本。该分析帮助用户减少无效操作,合理控制API支出。

海兰 990

css-BFC概念

在w3c中,是这样解释block-level box的: 在一个块级排版上下文中,盒子是从包含块顶部开始,垂直的一个接一个的排列的相邻两个盒子之间的垂直的间距是被margin属性所决定的,在一个块级排版上下文中相邻的两个块级盒之间的垂直margin是折叠的 例如:定义三个div块元素 div{ width:100px; height:100px; } .one{ backgrou...

rudongdong的博客 503

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

计算机控制技术及应用

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

理解CSS-BFC概念

前言BFC 已经是一个耳听熟闻的词语了,但是我对于BFC的概念以及应用场景一直都不是很明白,据说搞懂BFC可以让我们理解CSS中某些原本诡异的地方。今天着重去了解了一下,做了以下总结。一、文档流在解释BFC之前,先说一下文档流。我们常说的文档流其实分为定位流、浮动流、普通流三种。而普通流其实就是指BFC中的FC。FC(Formatting Context),直译过来就是“格式化上下文”,它是页面中...

weixin_34275734的博客 213

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

理解CSS中的BFC概念

BFC是W3C CSS 2.1 规范中的一个概念,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用。 W3C: Floats, absolutely positioned elements, block containers (such as inline-blocks, table-cells, and table-captions) that are not block

崔的博客 514

jre9下载 jdk9

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

CSS-BFC的概念及其作用

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

BigKongfuPanda的博客 1379

深入理解CSS中的BFC 与IFC , 布局的两大基础概念

本文介绍了CSS布局中的两个重要概念:BFC(块级格式化上下文)和IFC(行内格式化上下文)。BFC是独立布局环境,影响块级元素垂直排列,可解决浮动导致的高度塌陷和外边距合并问题,通过设置overflow、float、position等属性触发。IFC控制行内元素水平排列,处理文本对齐和换行行为,由display:inline或inline-block等触发。文章通过实例展示了BFC清除浮动、防止外边距合并,以及IFC实现行内元素对齐和图文混排的应用场景,比较了两者的区别,帮助开发者更好地控制页面布局。

m0_63472757的博客 917

深入解析CSS盒模型与BFC:从基础概念到实战应用

这篇技术文章深入解析了CSS盒模型与BFC布局原理。首先详细介绍了标准盒模型(content-box)和怪异盒模型(border-box)的区别,推荐使用border-box模式进行全局设置。其次深入讲解了BFC(块级格式化上下文)的概念、创建方式及其五大核心作用:清除浮动、阻止外边距合并、隔离浮动元素、实现自适应布局和防止元素被覆盖。文章提供了丰富的代码示例,对比了不同布局方案的优缺点,并给出了BFC在响应式设计和表单布局中的实际应用案例。

Yue 9469

CSS中的BFC概念

什么是BFC? 块级格式化上下文。 BFC的原理的目的 可以知道一些问题为什么出现,书写页面相关效果的时候,可以有多个方法。 触发BFC的条件 HTML默认就是一个人BFC。 添加浮动且属性值不是none也可以成为BFC。 overflow的属性值不为visible也可以成为BFC。 display的属性值是 inline-block table-cell table-caption flex inline-flex。 position的属性值是absolute或者fixed。 ...

qq_45799465的博客 228

[布局概念] 关于CSS-BFC深入理解

BFC是什么鬼? BFC概括:可以在心中记住这么一个概念———所谓的BFC就是css布局的一个概念,是一块区域,一个环境。 先稳住别懵逼,接着往下走。 关于BFC的定义: BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域,只有Block-level box参与(在下面有解释), 它规定了内部的Block-level Box...

weixin_30627341的博客 92

CSS BFC属性的概念及作用

BFC属性的概念及作用

weixin_51445423的博客 510

如何理解css的BFC抽象概念

分享请标明来自: https://www.css3.io/bfc-css.html 背景 BFC(Block Formatting Contexts), 这东西在css里经常被谈论到。它的难点在于,它是一个非常抽象的概念,难以让人理解。还容易与盒模型区分不开。反而如何触发它,或者它有什么使用场景倒还容易理解。这不是一篇讨论它具体细节的文章。这里只是谈谈我个人对这个抽象概念的理解。

我仅仅是一个Coder 888

[布局概念]关于CSS-BFC的深入理解

写在前面 好记性不如烂笔头,研究了一下BFC,发现里面比较细的东西也是很多的!关于BFC,很多人可能都听说过BFC这个东西,大概知道这是个啥东西,相信很多人对此并没有一个非常细致的了解,本文预计篇幅较长,认真,耐着性子看,应该都能够比较深入的理解BFC这个概念的规则、作用以及用法。希望喜欢的朋友可以点个赞,或者关注一波本人,谢谢。 BFC是什么鬼? BFC概括:可以在心中记住这么

OBKoro1前端分享 2681

【日常记录】CSS抽象概念-堆叠上下文、BFC与margin合并

CSS中有一些抽象的概念,这篇博客主要用来总结对这些抽象概念的一些理解。 ** 1. 堆叠上下文(the stacking context) ** 堆叠上下文是一个抽象的概念,我们没法定义,但是可以定义触发它的条件,几个常见的触发条件: - 根元素html - z-index的值不为auto的相对或者绝对定位的元素 - opacity的值小于1的元素 - z-index的值不为auto的fl...

qq_43062639的博客 434
上一篇: CSS弹性盒总结
下一篇: css浮动布局以及清除浮动的几种办法
Boale_H
博客等级 码龄6年 778粉丝 213原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值