理解BFC

作者: fakefish | 来源:发表于2019-06-28 13:15 被阅读0次

BFC全称 Block Formatting Context,是web上一种css的渲染方式,能够让浮动和其他元素进行互动的区域。
默认情况下,整个文档都是一个BFC,BFC内部会发生诸如margin重叠,浮动元素之后的元素需要清除浮动等等。

但其实这个根元素就是其中一种能够触发BFC的元素,所有能够触发BFC的元素有:
1、根元素或者包含根元素(iframe)
2、float不是none的浮动元素
3、position为absolute或者fixed
4、display为inline-block
5、display为table-cell,默认表格单元格
6、display为table-caption,默认表头
7、匿名表格单元格元素 display为table、table-row、table-row-group、table-header-group、table-footer-group、inline-table,默认的表格、行、tbody、thead、tfoot
8、overflow不是visible
9、display为flow-root
10、content为layout、content、strict
11、display为flex、inline-flex的直接子元素
12、网格元素,display为grid、inline-grid的直接子元素
13、多列容器,column-count、column-width不为auto
14、column-span为all,疑似bug

BFC的元素会包含包裹创建它的元素内部的所有内容。浮动和清除浮动只会影响同一个BFC内部的元素。

.box {
    background-color: rgb(224, 206, 247);
    border: 5px solid rebeccapurple;
}

.float {
    float: left;
    width: 200px;
    height: 150px;
    background-color: white;
    border:1px solid black;
    padding: 10px;
}      
<div class="box">
    <div class="float">I am a floated box!</div>
    <p>I am content inside the container.</p>
</div>
image.png

一般如何清除浮动,我们会加overflow:auto:

.box {
    background-color: rgb(224, 206, 247);
    border: 5px solid rebeccapurple;
    overflow: auto;
}

.float {
    float: left;
    width: 200px;
    height: 150px;
    background-color: white;
    border:1px solid black;
    padding: 10px;
}      
<div class="box">
    <div class="float">I am a floated box!</div>
    <p>I am content inside the container.</p>
</div>
image.png

相关文章

  • 关于 BFC 的布局应用:清除浮动、文字环绕

    关于 BFC 的布局应用:清除浮动、文字环绕 参考文档:理解CSS中BFC BFC(Block Formattin...

  • BFC

    一、BFC是什么 BFC(box formatting context),要了解BFC是什么需要先理解box和fo...

  • BFC理解

    Block formatting context (块级格式化上下文) 页面文档由块block构成 每个block...

  • 理解BFC

    一、常见定位方案 在讲 BFC 之前,我们先来了解一下常见的定位方案,定位方案是控制元素的布局,有三种常见方案: ...

  • 理解BFC

    原文连接:https://zhuanlan.zhihu.com/p/25321647 一、常见定位方案 在讲 BF...

  • 理解BFC

    BFC 的全称是 Block Formating Context,译为“块级格式化上下文”,是 CSS 规范中的一...

  • 理解BFC

    BFC全称 Block Formatting Context,是web上一种css的渲染方式,能够让浮动和其他元素...

  • 理解BFC

    BOX CSS布局的基本单位, 一个页面是由很多个 Box 组成的,元素的类型和 display 属性决定了这个 ...

  • 理解BFC

    理解BFC 更好阅读体验移步:http://zhangzippo.github.io/posts/2019/04/...

  • 理解BFC

    BFC(Block Formatting Context)块级格式化上下文BFC是一个名词,是一个独立的布局环境,...

网友评论

      本文标题:理解BFC

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