CSS中的BFC是什么?

一、什么是BFC?

BFC(Block Formatting Context)块格式化上下文,简单来说就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。

二、如何触发BFC?

我们经常在写CSS时不知不觉就会触发了BFC:

  • 根元素,即HTML元素
  • 浮动元素:元素的float不是none,指定float为left或者right就可以创建BFC
  • 绝对定位元素:元素的position为absolute或fixed
  • display:inline-block、table-cell、flex、inline-flex
  • overflow指定除了visible的值

三、BFC有什么特点?

  • 在BFC中,块级元素从顶端开始垂直地一个接一个的排列。(当然了,即便不在BFC里块级元素也会垂直排列)
  • 如果两个块级元素属于同一个BFC,它们的上下margin会重叠(或者说折叠),以较大的为准。但是如果两个块级元素分别在不同的BFC中,它们的上下边距就不会重叠了,而是两者之和。
  • BFC的区域不会与浮动的元素区域重叠,也就是说不会与浮动盒子产生交集,而是紧贴浮动边缘。
  • 计算BFC的高度时,浮动元素也参与计算。BFC可以包含浮动元素。(利用这个特性可以清除浮动)
  • BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。

四、BFC有什么用?

1、解决外边距折叠问题

可以把其中一个div放到BFC中,添加overflow: hidden;开启BFC

2、制作两栏布局

左边固定,右边自适应------> 给右边的div添加overflow: hidden;开启BFC

3、清除元素内部的浮动

当在父元素中只设定一个盒子浮动,另一个不浮动时,会造成第二个盒子在第一个盒子的下方,被覆盖掉一部分

给第二个元素设置BFC:overflow: hidden;

原文链接:https://blog.csdn.net/weixin_43974265/article/details/115416184

相关推荐
崔庆才丨静觅7 小时前
hCaptcha 验证码图像识别 API 对接教程
前端
passerby60618 小时前
完成前端时间处理的另一块版图
前端·github·web components
掘了8 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
崔庆才丨静觅8 小时前
实用免费的 Short URL 短链接 API 对接说明
前端
崔庆才丨静觅8 小时前
5分钟快速搭建 AI 平台并用它赚钱!
前端
崔庆才丨静觅9 小时前
比官方便宜一半以上!Midjourney API 申请及使用
前端
Moment9 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
崔庆才丨静觅9 小时前
刷屏全网的“nano-banana”API接入指南!0.1元/张量产高清创意图,开发者必藏
前端
剪刀石头布啊9 小时前
jwt介绍
前端
爱敲代码的小鱼9 小时前
AJAX(异步交互的技术来实现从服务端中获取数据):
前端·javascript·ajax