2019年12月25日——BFC(Block Formatting Context)

BFC是Web页面中盒模型的一种属性或者说是一种状态,这种状态默认是没有的,需要一些属性才可以触发这个盒模型的BFC状态,继而产生一些其他的效果。

1.什么情况下可能会需要触发BFC?

1.1    防止margin重叠


代码


bigBox没有设置margin-top也被顶了下去

1.2    清除内部浮动


代码
子元素因为浮动导致父元素高度塌陷

1.3    自适应两(多)栏布局


代码


左边浮动右边自适应却占满了整个宽度

1.4    防止字体环绕


这个我也没有理解,写不出来

2.怎么样才可以触发BFC?

2.1    float的值不为none

2.2    overflow的值不为visible

2.3    display的值为inline-block、table-cell、flex、table-caption或者inline-flex

2.4    position的值不是static或者relative

3.BFC触发后会有什么效果?

1.1    内部的Box会在垂直方向上一个接一个的放置

1.2    垂直方向上的距离由margin决定

1.3    bfc的区域不会与float的元素区域重叠

1.4    计算bfc的高度时,浮动元素也参与计算

1.5    bfc就是页面上的一个独立容器,容器里面的子元素不会影响外面元素

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • relative:生成相对定位的元素,通过top,bottom,left,right的位置相对于其正常位置进行定位...
    zx9426阅读 965评论 0 2
  • 1. 在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?给个父子外边距合并的范例 外边距合并:外...
    进击的阿群阅读 934评论 1 2
  • BFC全称是Block Formatting Context,即块格式化上下文。它是CSS2.1规范定义的,关于C...
    xf0128阅读 352评论 0 0
  • 1.背景介绍 BFC全称是Block Formatting Context,是CSS2.1规范定义的,关于CSS渲...
    你隔壁的陌生人阅读 1,161评论 0 0
  • 什么是BFC BFC全称是Block Formatting Context,即块格式化上下文。它是CSS2.1规范...
    陌客百里阅读 536评论 3 4