BFC详解

微信小程序消息推送实战:从模板消息到订阅消息的进阶指南 本文详细解析了微信小程序消息推送的核心机制,重点对比了模板消息与订阅消息的差异与应用场景。模板消息适用于支付成功等强即时性业务回执,而订阅消息则需用户授权,更适合物流提醒等可预期通知。文章提供了从授权、配置到发送的完整实战指南,并分享了常见的避坑技巧与性能优化建议,帮助开发者构建高效、合规的用户触达体系。 阅读详情

FC (格式化上下文)

FC的全称是: Formatting Contexts,是 W3C CSS2.1规范中的一个概念。

它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。

BFC

BFC(Block Formatting Contexts) 直译为"块级格式化上下文"。Block Formatting Contexts就是页面上的一个隔离的渲染区域,容器里面的子元素不会在布局上影响到外面的元素,反之也是如此。

IFC

IFC(Inline Formatting Contexts) 直译为"内联格式化上下文", IFC的line box (线框) 高度由其包含行内元素中最高的实际高度计算而来 (不受到竖直方向的padding/margin影响)。

IFC中的line box一般左右都贴紧整个IFC,但是会因为float元素而扰乱。float元素会位于IFC与与line box之间,便得line box宽度缩短。同个IFC下的多个line box高度会不同。

FFC

FFC (Flex Formatting Contexts) 直译为"自适应格式化上下文",display 值为 flex 或者 inline-flex 的元素将会生成自适应容器(flex container) ,Flex Box由伸缩容器和伸缩项目组成。

通过设置元素的display 属性为 flex 或 inline-flex 可以得到一个伸缩容器。设置为flex的容器被渲染为一个块级元素,而设置为inline-flex的容器则渲染为一个行内元素。伸缩容器中的每一个子元素都是一个伸缩项目。伸缩项目可以是任意数量的。伸缩容器外和伸缩项目内的一切元素都不受影响。

简单地说, Flexbox定义了伸缩容器内伸缩项目该如何布局。

GFC (了解)

后期讲响应式 自适应 和移动端布局的时候进行补充

GFC(GridLayout Formatting Contexts)直译为"网格布局格式化上下文",当为一个元素设置display值为grid的时候,此元素将会获得一个独立的渲染区域,我们可以通过在网格容器 (grid container) 上定义网格定义行(griddefinition rows) 和网格定义列 (grid definition columns) 属性各在网格项目 (grid item) 上定义网格行(gridrow) 和网格列 (grid columns)为每一个网格项目(grid item)定义位置和空间。

那么GFC有什么用呢,和table又有什么区别呢?首先同样是一个二维的表格,但GridLayout会有更加丰富的属性来控制行列,控制对齐以及更为精细的渲染语义和控制。

BFC详解

BFC形成条件

  • 根元素

  • float 属性不为 none

  • position 为 absolute 或 fixed

  • display 为inline-block, table-cell, table-caption , flex, inline-flex

  • overflow 不为 visible ( hidden auto scroll )。

一般用overflow:hidden 开启BFC,因为float和positon会使自己也脱标,不符合常规文素的布局,虽然内部元素开启了BFC,但自己又成了问题儿童。用了flex也可以脱标,但是用了flex,内容也不会用浮动,直接走FFC了。

那BFC一般有什么用呢?比如常见的多栏布局,结合块级别元素浮动,里面的元素则是在一个相对隔离的环境里运行。

它决定了元素如何对其内容进行定位以及与其他元素的关系和相互作用当涉及到可视化布局的时候BlochFormatting Context提供了一个环境HTML元素在这个环境中按照一定规则进行布局

通俗翻译下: 形成一个完全独立的大箱子 箱子中的子元素与外部元素隔绝开来 不管内部元素怎么搞 都不会影响到外部, 内部形成一个独立的文档流。通过创立BFC,相当于开启了一个独立的文档流,他里面的元素不管怎么蹦跶都不会影响到外部文档流。

BFC元素所具有的特性

BFC布局规则特性:

1.在BFC中,盒子从顶端开始垂直地一个接一个地排列.

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

3.在BFC中,每一个盒子的左外边缘(margin-left)会触碰到容器的左边缘(border-left)(对于从右到左的格式来说,则触碰到右边缘)。

  1. BFC的区域不会与浮动盒子产生交集,而是紧贴浮动边缘。
  2. 计算BFC的高度时,自然也会检测浮动的盒子高度。

它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。

BFC的主要用途

  1. 清除浮动影响

  2. 处理外边距穿透&合并

    <!DOCTYPE html>
    <html lang="zh-cn">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>BFC DEMO</title>
      <style>
        * {
          margin: 0;
          padding: 0;
        }
    
        ul {
          list-style: none;
        }
    
        .box {
          width: 200px;
          height: 200px;
          background-color: blue;
          margin-bottom: 10px;
        }
    
        .box.bottom {
          background-color: red;
          margin-top: 30px;
        }
    
        .bfc {
          overflow: hidden;
          height: auto;
        }
      </style>
    </head>
    <body>
      <div class="box"></div>
        <!-- 添加一个bfc解决外边距穿透,中间是40px,理解即可,一般不会这么用,
        太麻烦,布局时只要避免这种情况就可以了,尽量用padding或给一个方向加margin就行了。 -->
      <div class="bfc">
        <div class="box bottom"></div>
      </div>
    </body>
    </html>
    
  3. 实现两栏|三栏自适应布局

    <!DOCTYPE html>
    <html lang="zh-cn">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>BFC DEMO</title>
      <style>
        * {
          margin: 0;
          padding: 0;
        }
    
        ul {
          list-style: none;
        }
    
        .slide-bar {
          float: left;
          width: 200px;
          height: 600px;
          background-color: orange;
        }
    
        .content {
          /* 给自适应栏开启BFC */
          overflow: hidden;
          height: 800px;
          background-color: skyblue;
        }
      </style>
    </head>
    <body>
      <div class="slide-bar"></div>
      <div class="content">
        大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好
      </div>
    </body>
    </html>
    
传感器采集信息的频率(采样频率) 较高的采集频率通常能提供更详细的信息,但也会增加数据处理和存储的负担。在某些应用中,较高的采样频率可能是必要的,而在其他情况下,则可能会选择适当的低采样频率以降低功耗和数据处理压力。传感器采集信息的频率(采样频率)是指传感器在一定时间内对输入信号进行采样的次数。对于一些需要快速检测和响应的应用,如运动传感器、声音传感器等,高采样频率是至关重要的。高采样频率通常需要更多的功耗和更大的存储容量,因为产生的数据量更大。例如,对于快速运动的对象,较低的采样频率可能无法捕捉到运动的真实轨迹。 阅读详情

相关推荐

AI开发助手介绍

AI开发助手介绍随着NLP方向发展越来越成熟,AI写代码领域出现了几个非常好的模型,今天笔者给大家推荐几个AI Coding 助手AI Coding助手是以IDEA插件或vim插件形式提供服务,在编辑器中写代码时,可以实时预测下一行要输入的代码,提升开发效率。Github Copilot首先要介绍的是Github Copilot,Copilot是个AI Coding助手,它从注释和代码中提取上下文,给出单行和整个函数的代码建议,Copilot由Open AI 的CodeX模型提供支持,它是一个由OpenAI

bobo_simpler的博客 5765

前端CSS之BFC详解

BFC是什么? 在解释 BFC 是什么之前,需要先介绍 Box、Formatting Context的概念。 Box: CSS布局的基本单位 Box 是 CSS 布局的对象和基本单位, 直观点来说,就是一个页面是由很多个 Box 组成的。 元素的类型和 display 属性,决定了这个 Box 的类型。 不同类型的 Box, 会参与不同的 Formatting Context(一个决定如何渲染文档的容器), 因此Box内的元素会以不同的方式渲染。让我们看看有哪些盒子: block-l...

shkstart的博客 495

360可视门铃双摄版数据恢复实战:BIN文件解析与视频重组

本文详细解析了360可视门铃双摄版BIN文件的数据恢复过程,包括文件结构分析、双摄像头数据存储机制及视频重组技术。通过Python开发环境和FFmpeg工具链,成功实现了H.265视频流的解析与重组,为智能家居设备数据恢复提供了实用解决方案。

weixin_29196891的博客 908

详解BFC

一、触发BFC的方式,列举几种常用情况 根元素<html> 浮动元素(float不为none) 绝对定位元素(position : fixed / absolute) 非块元素(display:inline-block / table-cell / table-caption / flex / inline-flex) 块元素(overflow不为visible) 二、BFC...

qq_44169219的博客 371

AD9361数字调制入门:从IQ调制原理到动手实现第一个ASK信号(Vivado工程详解)

本文详细介绍了如何使用AD9361射频收发器实现ASK数字调制,从IQ调制原理到Vivado工程实现。通过Verilog代码示例和FPGA架构设计,帮助开发者理解纯逻辑实现数字调制解调的关键技术,特别适合软件无线电(SDR)初学者入门实践。

weixin_29158047的博客 374

4D 毫米波雷达:智驾普及的新路径(一)

总体而言,4D 毫米波雷达具有更佳的探测能力,更高的分辨率和精度,在人工智能技术的加持下,能够实现更加智能化的感知和跟踪,从而为自动驾驶、智能交通等领域提供更加可靠的数据支持。博世的第五代引入了俯仰维度,但其角度分辨率较差,且最大探测距离为。车载毫米波雷达的尺寸受限,我们认为通过算法的优化、天线内置等方式可以在保障性能的前提下,压缩尺寸,便于车企进行灵活的设计安装。在物理设计、天线性能设计、电连接、封装工艺和材料、散热处理、可靠性与自动化测试等方面进行持续优化,推出可大规模量产的高性能毫米波雷达解决方案。

奔袭的算法工程师 3954

css中的BFC详解

本文转至[什么是BFC?看这一篇就够了(https://blog.youkuaiyun.com/sinat_36422236/article/details/88763187) BFC 定义: BFC(Block formattingcontext)直译为"块级格式化上下文"。它是一个独立的渲染区域,只有Block-level box参与,它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。 在解释什么是BFC之前,我们需要先知道Box、Formatting Context的概念。 B

weixin_48786946的博客 2683

AI故障预测系统架构设计:5个核心模块+3种主流架构,收藏这篇就够了

深夜11点,某汽车工厂的生产线突然停机——核心机器人的轴承磨损过度导致卡壳。维修人员连夜抢修,直接损失超过50万元,还延误了客户的交货期。传统的“事后维修”或“定期维护”要么代价高昂,要么防不胜防。AI故障预测系统的出现,让“精准维护”成为可能——它能通过传感器数据提前7-30天预警故障,将停机损失降低80%以上。知道要做故障预测,却不知道怎么搭系统——数据怎么采集?特征怎么提取?模型怎么部署?架构怎么选?本文将解决这些问题:我们会拆解AI故障预测系统的5个核心模块,分析3种主流架构。

AIGC应用创新大全的博客 1019

bfc详解

1.布局规则: 1.内部的Box会在垂直方向,从顶部开始一个接一个地放置。(即每个块级元素独占一行) 2. Box垂直方向的距离由margin决定。属于同一个BFC的两个相邻Box的margin会发生叠加。(垂直方向上margin塌陷) 3. 每个元素的margin box的左边, 与包含块border box的左边相接触(对于从左往右的格式化,否则相反)。即使存在浮动也是如此。(规则1产生的原因...

weixin_45803556的博客 225

(十一)随机性与独立性回顾

随机性与独立性回顾

旺旺的碎冰冰~的博客 1017

你知道吗?其实这些都是AI——农作物监控AI

随着全球人口的不断增长,粮食需求日益增加。为了应对这一挑战,现代农业正在迅速转型,引入了许多先进技术来提高生产效率和作物产量。在这些技术中,人工智能(AI)在农作物监控方面的应用显得尤为重要。通过利用AI技术,农民和农业专家可以更好地管理农作物的生长,预防病虫害,并优化灌溉和施肥方案,从而实现农业生产的智能化和精准化。

AI科研社 367

CSS中的BFC BFC详解 BFC可以解决的问题汇总

BFC详解 简介 BFC 全称 Block Formatting Context, 名为 "块级格式化上下文"它是CSS2.1规范定义的,是关于CSS渲染定位的一个概念. W3C官方解释:BFC它决定了元素如何对其内容进行定位,以及与其它元素的关系和相互作用,当涉及到可视化布局时, Block Formatting Context提供了一个环境,HTML在这个环境中按照一定的规则进行布局。 简单来说就是,BFC是一个完全独立的空间(布局环境),让空间里的子元素不会影响到外面的布局。 触发开启B

dccose的博客 638

2.STM32F407ZGT6 学习笔记-移植 FreeRTOS

1. 在工程下建议FreeRTOS文件夹 2. 在FreeRTOS文件夹下建立 src 和 port 文件夹 (src用于存放freertos源码,port文件夹存放内存和接口相关的文件) 3. 复制freertos/source文件夹下所有c文件复制到刚刚建立的freertos/src目录下 4. 复制FreeRTOSv9.0.0\FreeRTOS\Source\portablex下的MemMang和RVDS文件夹复制到刚刚建立的port问价夹下 5. 将FreeRTOSv9.0.0\FreeRTOS

Car12 1233

CSS BFC 详解

test

陆小森_红齐飘飘的博客 592

计算机控制技术及应用

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

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

CSS BFC是什么【BFC详解】

问题 CSS BFC是什么? 解答 定义 BFC(Block Formatting Context)格式化上下文,是盒模型的一种渲染布局,简言之可以理解为 一个独立的容器,不受外部影响,不影响外部。 形成条件 固定(fixed)定位和绝对(absolute)定位 float:both,left,right(除了none) overflow:hidden,auto,scroll(除了visible) display:inline-block,table-cell,table-caption (- f.

a123789999的博客 257

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

关于BFC详解以及如何清除浮动

一、什么是BFC?IFC?     BFC(Block Formatting Context)即“块级格式化上下文”, IFC(Inline Formatting Context)即行内格式化上下文。常规流(也称标准流、普通流)是一个文档在被显示时最常见的布局形态。一个框在常规流中必须属于一个格式化上下文,你可以把BFC想象成一个大箱子,箱子外边的元素将不与箱子内的元素产生作用。     BF...

bangbanggangan的博客 4068

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

上一篇: CSS content 计数器
下一篇: 固定定位的盒子靠近版心右侧对齐案例
喵_美
博客等级 码龄11年 445粉丝 102原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值