对 BFC 的理解

BFC(块级格式化上下文)是CSS布局中的关键概念,它决定了元素如何在页面上布局,包括如何处理浮动元素、外边距重叠以及高度计算。通过创建BFC,可以解决三栏布局问题、避免margin重叠和防止高度塌陷。要触发BFC,可以设置元素为绝对定位、使用inline-block或设置overflow不为visible。BFC的应用包括自适应布局和解决外边距问题。了解并利用BFC能更好地掌控网页布局。
摘要由CSDN通过智能技术生成

什么是BFC?

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

BFC是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。

根据盒模型可知,每个元素都被定义为一个矩形盒子,然而盒子的布局会受到尺寸,定位,盒子的子元素或兄弟元素,视口的尺寸等因素决定,所以这里有一个浏览器计算的过程,计算的规则就是由一个叫做视觉格式化模型的东西所定义的,BFC 就是来自这个概念,它是 CSS 视觉渲染的一部分,用于决定块级盒的布局及浮动相互影响范围的一个区域。

BFC具有一些特性?

  • 块级元素会在垂直方向一个接一个的排列,和文档流的排列方式一致。
  • 在 BFC 中上下相邻的两个容器的 margin 会重叠,创建新的BFC 可以避免外边距重叠。
  • 计算 BFC 的高度时,需要计算浮动元素的高度。
  • BFC 区域不会与浮动的容器发生重叠。
  • BFC是独立的容器,容器内部元素不会影响外部元素。
  • 每个元素的左 margin 值和容器的左 border 相接触。

BFC的作用?

  • 可以是实现三栏(或者两栏)自适应布局。
  • 可以避免margin重叠问题。
  • 可以避免高度塌陷。

创建BFC的方式?

  • 绝对定位元素(position 为 absolute 或 fixed )。
  • 行内块元素,即 display 为 inline-block 。
  • overflow 的值不为 visible 。

满足下列条件之一就可以触发BFC?

  • 根元素,即html
  • float的值不为none(默认)
  • overflow的值不为visible(默认)
  • display的值为table-cell, table-caption, inline-block, flex, 或者inline-flex 中的其中一个
  • position的值为absolute或fixed
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏兮颜☆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值