什么是BFC?

什么是BFC?BFC概念:一个块格式化上下文(包括块格式化上下文、内联格式化上下文、灵活格式化上下文)。它是css布局的一个概念,是一个独立的渲染区域,规定了内部box如何布局,并且这个区域的子元素不会影响到外面的元素,其中比较重要的布局规则有内部box垂直放置,计算BFC的高度的时候,浮动元素也参与计算。

大家好,欢迎来到IT知识分享网。什么是BFC?

BFC概念:
一个块格式化上下文(包括块格式化上下文、内联格式化上下文、灵活格式化上下文)。
它是css布局的一个概念,是一个独立的渲染区域,规定了内部box如何布局,并且这个区域的子元素不会影响到外面的元素,其中比较重要的布局规则有内部box垂直放置,计算BFC的高度的时候,浮动元素也参与计算。

BFC的原理布局规则
内部的box会在垂直方向,一个接一个的放置
box垂直方向的距离由margin决定,属于同一个BFC的两个相邻box的margin会发生重叠
每一个元素的margin box的左边,与包含块border box的左边详解出(对于从左往右的格式化,否则相反)
BFC的区域是不会与float box重叠
BFC是一个单独的容器,容器里面的子元素不会影响到外面的元素
计算BFC的高度时,浮动元素也参与计算高度
元素的类型和display属性,决定了这个box的类型。不同类型的box会参与不同的formattingContext

创建BFC:除了文档的根元素之外,还将在以下情况下创建一个新的BFC
使用float使其浮动的元素,不能为none
绝对定位的元素(包括position:fixed或者position:sticky)
使用以下属性的元素display:inline-block
表格单元格或使用display:table-caption的元素
块级元素的overflow属性不为visible
元素属性为display:flow-root或display:flow-root list-item
元素属性为contain:layout,content,或strict

BFC的使用场景
去除边距重叠现象
清除浮动(让父元素的高度包含子浮动元素)
避免某元素被浮动元素覆盖
避免多列布局由于宽度计算四舍五入而自动换行
防止文字环绕

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/31357.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信