理解CSS块级格式上下文(BFC)

什么是块级格式上下文

块级格式上下文(Block Formatting Context)简称BFC

一些元素,如float元素,如position为absolute,inline-block,table-cell或table-caption的元素,以及overflow属性不为visible的元素,它们将会建立一个新的块级格式化上下文。

上述定义已经很详细的描述了块级格式化上下文(Block Formatting Context)是如何形成的,为了方便起见,文中均用BFC代替。
现在,让我们用一种简单的方式对其进行重新定义:
BFC也是HTML中的一个盒子(看不见而已),只有满足至少下列条件之一才能形成BFC:

  • float属性不为none.

  • position属性不为static和relative.

  • display属性为下列之一:table-cell,table-caption,inline-block,flex,or inline-flex.

  • overflow属性不为visible.

如何创建BFC

在MDN中有一大堆方法交我们创建BFC,但在一般情况下我们只需要满足上面的其中一个条件就可以了

  • 浮动元素 (元素的 float 不是 none)
  • 绝对定位元素 (元素的 positionabsolutefixed)
  • 内联块元素 (元素具有 display: inline-block)
  • overflow属性非visiable的属性
BFC的特性
  • BFC内的浮动不会影响到BFC外部的元素
  • BFC的高度会包含其内的浮动元素
  • BFC不会和浮动元素重叠
  • BFC可以通过overflow : hidden 等方法创建
BFC的作用
  • 清除浮动
  • 防止margin折叠
  • 双栏布局
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,268评论 1 92
  • (注1:如果有问题欢迎留言探讨,一起学习!转载请注明出处,喜欢可以点个赞哦!)(注2:更多内容请查看我的目录。) ...
    love丁酥酥阅读 760评论 0 3
  • 什么是BFC BFC全称是Block Formatting Context,即块格式化上下文。它是CSS2.1规范...
    clfeng阅读 571评论 0 0
  • 开篇 一些元素,如float元素,如position为absolute,inline-block,table-ce...
    Pursue阅读 12,131评论 13 56
  • 老家没有小姨这种叫法,妈的姐姐叫姨,妹喊孃孃,所以我们都叫她四孃。 上一次见四孃大概是在三年之前,再上一次就是十几...
    苏小政阅读 1,338评论 0 0

友情链接更多精彩内容