BFC

∥☆過路亽.° 提交于 2020-03-01 03:51:30

今天想给大家分享一下有关于BFC的一些知识,作为我上个星期在逆战班所学到的知识总结。
BFC是H5里一个非常重要的知识点,我们来简单了解一下。

什么是BFC

首先:什么是BFC呢?
BFC是Block formatting context的缩写,直译为“块级格式化上下文”。简单来说,就是它是一个独立的渲染区域,只有Block-level box参与,它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。

BFC的布局规则

那么说完什么是BFC,我们再来简单说一下BFC的布局规则,这里有六条,我来简单介绍一下:
1:内部的Box会在垂直方向,一个接一个地放置。如图:
在这里插入图片描述
2:Box垂直方向的距离由margin决定。属于同一个BFC里的两个相邻的Box的margin会发生重叠。如图:
上面这张图,我给上面的box设置了mrgin-bottom:50px;下面的box设置了margin-top:50px;但是他们之间的间距就只有50px;
注意:重叠后会以两个margin里的最大值来显示。
3:每个元素的margin box的左边,与包含块border box的左边相接触。如图:
在这里插入图片描述
4:BFC的区域不会与float box 重叠。如图:
在这里插入图片描述
上图左右两边的box全部是浮动元素,不会覆盖中间的box。
5:BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。如图:
不会影响下面的文字内容
6:计算BFC的高度时,浮动元素也会参与计算。

BFC的触发条件

那么BFC是如何才能触发的呢?有如下几种条件:
1:根元素(html)
2:float属性不为none
3:position为absolute或fixed
4:display为inline-block,table-cell,table-caption,flex,inline-flex
5:overflow不为visible

结语

BFC在H5中的应用还是很广泛的,比如自适应两栏布局,清楚内部浮动,防止margin上下重叠等等,所以我们一定要努力的理解并掌握它,让我们随着逆战班一起加油前进吧!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!