BFC简述

作者: SherrinfordL | 来源:发表于2019-05-28 18:58 被阅读0次

什么是BFC

在一个Web页面的CSS渲染中,块级格式化上下文 (Block Fromatting Context)是按照块级盒子布局的。W3C对BFC的定义如下:

浮动元素和绝对定位元素,非块级盒子的块级容器(例如 inline-blocks, table-cells, 和 table-captions),以及overflow值不为“visiable”的块级盒子,都会为他们的内容创建新的BFC(块级格式上下文)。

为了便于理解,我们换一种方式来重新定义BFC。一个HTML元素要创建BFC,则满足下列的任意一个或多个条件即可:

1、float的值不是none。
2、position的值不是static或者relative。
3、display的值是inline-block、table-cell、flex、table-caption或者inline-flex
4、overflow的值不是visible

BFC是一个独立的布局环境,其中的元素布局是不受外界的影响,并且在一个BFC中,块盒与行盒(行盒由一行中所有的内联元素所组成)都会垂直的沿着其父元素的边框排列。
怎么创建BFC
要显示的创建一个BFC是非常简单的,只要满足上述4个CSS条件之一就行。例如:

<div class="container">
  你的内容
</div>

在类container中添加类似 overflow: scroll,overflow: hidden,display: flex,float: left,或 display: table 的规则来显示创建BFC。虽然添加上述的任意一条都能创建BFC,但会有一些副作用:

1、display: table 可能引发响应性问题
2、overflow: scroll 可能产生多余的滚动条
3、float: left 将把元素移至左侧,并被其他元素环绕
4、overflow: hidden 将裁切溢出元素

因而无论什么时候需要创建BFC,都要基于自身的需要来考虑。例如overflow: hidden 方式:

.container {
overflow: hidden;
}

BFC可以做什么呢?
1.利用BFC避免外边距折叠,防止垂直 margin 重叠
2.清除内部浮动

  1. 自适应两栏布局

相关文章

  • 简述BFC

    一、是什么? BFC(Block Formatting Context)直译为“块级格式化范围”。 可以把BFC理...

  • BFC简述

    什么是BFC 在一个Web页面的CSS渲染中,块级格式化上下文 (Block Fromatting Context...

  • CSS BFC和CSS hack

    简述CSS BFC和CSS hack BFC BFC定义:浮动元素和绝对定位元素,非块级盒子的块级容器(例如inl...

  • 简述BFC及其如何工作

    大家好,我是IT修真院上海分院第01期学员,一枚正直善良的web程序员。 今天给大家分享一下,修真院官网 CSS任...

  • 简述CSS中的BFC

    BFC是指一个独立的块级渲染区域,只有Block-level Box(块级元素)参与,该区域拥有一套渲染规则来约束...

  • BFC及其应用

    前言 本文包括以下内容: 什么是BFC 如何产生BFC BFC的特点 应用BFC 1、什么是BFC BFC (Bl...

  • 【CSS】BFC、简单布局、浏览器兼容及常见居中方式

    作业地址 BFC 是什么?如何生成 BFC?BFC 有什么作用? BFC是什么? BFC 全称 Block For...

  • BFC &边距合并& 浏览器兼容

    BFC 是什么?如何生成 BFC?BFC 有什么作用?举例说明。 BFC 全称 Block Formatting ...

  • BFC?浏览器兼容?

    BFC 是什么?如何生成 BFC?BFC 有什么作用?举例说明。BFC( Block Formatting Con...

  • BFC

    BFC定义 BFC 全称 Block Formatting Context。BFC(Block formattin...

网友评论

      本文标题:BFC简述

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