css-BFC

作者: zhenghongmo | 来源:发表于2020-03-12 14:36 被阅读0次

BFC(block formatting context):块格式化上下文

理解BFC

  1. BFC和堆叠上下文都没有定义,只有特性/功能

    满足下列条件之一的就是块格式化上下文:

  • 根元素或其它包含它的元素
  • 浮动元素 (元素的 float 不是 none)
  • 绝对定位元素 (元素具有 position 为 absolute 或 fixed)
  • 内联块 (元素具有 display: inline-block)
  • 表格单元格 (元素具有 display: table-cell,HTML表格单元格默认属性)
  • 表格标题 (元素具有 display: table-caption, HTML表格标题默认属性)
  • 具有overflow 且值不是 visible 的块元素,
  • display: flow-root(让当前元素触发BFC,无其他用途)
  • column-span: all 应当总是会创建一个新的格式化上下文,即便具有 column-span: all 的元素并不被包裹在一个多列容器中。

功能

  1. 功能1:爸爸管儿子

用 BFC 包住浮动元素。(这并不是清除浮动,.clearfix 才是清除浮动)

儿子加float后,爸爸管不住儿子,但是给爸爸加以下其中一种,变为块格式化上下文,就可以管住儿子:

  • float
  • position:absolute;
  • display:inline-block;
  • overflow:auto;
  • display:table-cell;
  • display:flow-root;
  1. 功能2:兄弟之间划清界限
  • 两个BFC之间有界限

    比如给一个<div>加float,给另一个兄弟<div>display:flow-root就可以实现左右自适应布局。

  • BFC是某个div的特性,BFC里可以有文档流。

  • 如下代码:

<div class="parent">
<div class="children"></div>
</div>

.children{
    margin-top:30px;
}

parent不会包住children的margin,但如果把parent变为BFC就可以包住;或者给parent加一个border-top也可以。

相关文章

  • CSS-BFC

        block formatting context块级格式化上下文    bfc是一个独立的渲染区域,只有b...

  • css-BFC

    BFC? ps:一开始看到这名词的时候我心里是拒绝的,什么鬼? 概念 (Block formatting cont...

  • CSS-BFC

    先挖坑 参考链接

  • CSS-BFC

    Visual formatting model 是用来处理和在视觉媒体上显示文档时使用的计算规则。该模型是 CSS...

  • css-BFC

    BFC(block formatting context):块格式化上下文 理解BFC BFC和堆叠上下文都没有定...

  • CSS-BFC

    BFC box,Formatting Context在解释 BFC 是什么之前,需要先介绍 Box、Formatt...

  • BFC

    原文:[布局概念] 关于CSS-BFC深入理解 面试的时候尽量不讲定义,而是讲例子。 定义 BFC全称叫做(Blo...

  • CSS-BFC初探

    BFC 块格式化上下文(Block Formatting Context,BFC) BFC产生的条件 根元素 元素...

  • CSS-BFC的理解

    简介在使用CSS的过程中,经常会听到触发BFC,但是何为BFC。BFC(Block formatting cont...

  • 理解CSS-BFC(Block-Formatting-Conte

    前言 BFC 已经是一个耳听熟闻的词语了,但是我对于BFC的概念以及应用场景一直都不是很明白,据说搞懂BFC可以让...

网友评论

      本文标题:css-BFC

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