美文网首页Web 前端开发 让前端飞
BFC(块级格式化上下文)

BFC(块级格式化上下文)

作者: 虚拟J | 来源:发表于2020-01-02 10:03 被阅读0次

BFC

BFC全称是Block Formatting Context,即块级格式化上下文。一句话概括,就是页面上的一个隔离的独立容器,容器里面的子元素不会在布局上影响到外面的元素,反之也是如此。

注意点:BFC 并不是元素,而是某些元素带有的一些属性,因此,是这些元素产生了 BFC ,而它们本身并不是 BFC ,这个概念需要区分清楚。

如何触发产生一个BFC:
  • float的值不为none。
  • overflow的值不为visible。
  • position的值不为relative和static。
  • display的值为 inline-block,table-cell, table-caption中的任何一个。

(根元素本身就带有BFC的特性)

生成BFC后的三个作用:

1.不和浮动元素重叠
2.清除元素内部浮动
3.防止垂直 margin 重叠

加深理解BFC

FC(Formatting Contexts)——格式化上下文,是W3C CSS2.1规范中的一个概念。它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。

不同 FC 下的盒子有不同的表现,FC一共有四种类型:

  • CSS2.1规范中只有BFC、IFC
  • CSS3推出GFC、FFC两种新类型

BFC 这个概念来自于视觉格式化模型中的正常流

  • 视觉格式化模型:根据 基础盒模型(也就是块盒、行内盒、匿名盒以及一些实验性的盒) 将文档中的元素转换一个个盒子的实际算法,它规定了用户端在媒介中如何处理文档树。

  • 有三种定位方案:分别是常规流(Normal flow),浮动(Floats)以及绝对定位(Absolute positioning)。——在定位时,浏览器会根据元素的盒类型和上下文对这些元素进行定位。

从上面的信息中可以得知,BFC是页面CSS 视觉渲染的一部分,用于决定块盒子的布局及浮动相互影响范围的一个区域。

参考链接:
https://juejin.im/post/59b73d5bf265da064618731d#heading-14
https://juejin.im/post/5cee1b38e51d4556be5b39e1#heading-0
https://www.cnblogs.com/lhb25/p/inside-block-formatting-ontext.html
https://www.cnblogs.com/leejersey/p/3991400.html

相关文章

  • css

    描述BFC(块格式化上下文)及其工作原理。 BFC 即 Block Formatting Contexts (块级...

  • BFC

    什么是 BFC Block Formatting Contexts(BFC):块级元素格式化上下文 BFC布局规则...

  • web前端入门到实战:CSS里的BFC和IFC的用法

    一、BFC Block Formatting Contexts (BFC,块级格式化上下文),就是 一个块级元素 ...

  • CSS知识点----BFC

    BFC(块级格式化上下文) 块格式化上下文(Block Formatting Context,BFC) 是Web页...

  • 学习BFC格式化上下文笔记

    BFC格式化上下文 块级格式化上下文(Block Fromatting Context)是按照块级盒子布局的。 B...

  • BFC / IFC

    BFC(Block Formatting Context)块级格式化上下文 定义:一个块格式化上下文 ( BFC ...

  • 3分钟理解BFC

    BFC的简介 BFC(Block Formatting Context) 块级格式化上下文,是用于布局块级盒子的一...

  • BFC和IFC

    BFC 块级格式化上下文 哪些元素会生产BFC? IFC 行内格式化上下文

  • BFC属性

    BFC(Block formatting context)直译为"块级格式化上下文"。BFC它是指一个独立的块级渲...

  • BFC和IFC

    BFC 块级格式化上下文 IFC 行内格式化上下文

网友评论

    本文标题:BFC(块级格式化上下文)

    本文链接:https://www.haomeiwen.com/subject/jlftoctx.html