CSS中的BFC详解

2024-01-17 16:16:22

浏览:43

评论:0

BFC是什么

区块格式化上下文(Block Formatting Context,BFC)是 Web 页面的可视 CSS 渲染的一部分,是块级盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域。

  • BFC通常与块级元素相关联,内联元素默认情况下不会创建BFC。因为块级元素在布局中具有更明确的行为和特性。
  • BFC是一个独立的渲染区域,内部元素和外部元素相互不影响。
  • BFC的触发,通常是为了实现某些布局和解决样式问题。

如何触发BFC

  • 文档的根元素(<html>)。
  • float值非none
  • overflow值非visible
  • display值为inline-block、table-cell、table-caption、flex、inline-flex
  • position值为absolute、fixed

BFC特性

  • 属于同一个BFC的两个相邻容器的上下margin会重叠(重点)
  • 计算BFC高度时浮动元素也参于计算(重点)
  • BFC的区域不会与浮动容器发生重叠(重点)
  • BFC内的容器在垂直方向依次排列
  • 元素的margin-left与其包含块的border-left相接触
  • BFC是独立容器,容器内部元素不会影响容器外部元素

触发BFC解决了哪些问题

  • 可以清除浮动:(塌陷问题)
  • 解决垂直边距重叠:
  • 可以利用BFC实现多栏布局(两栏、三栏、圣杯、双飞翼等)