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

相关推荐
梦曦i23 分钟前
uni-storage 0.1.0 发布:TTL过期管理+多实例隔离
前端·storage·uni-app x
猫头_1 小时前
AI 流式传输工程指南:模型吐出半截 JSON,前端如何边收边渲染?
前端·javascript·llm
console.log('npc')2 小时前
第 1 章 项目概述与环境搭建
前端·人工智能·大模型
定栓2 小时前
Webpack迁到Vite第七节(二):全家桶移除 — Babel 全家桶深度分析
前端·webpack·node.js
IT_陈寒2 小时前
React组件莫名重渲染?你可能忘了这个小细节
前端·人工智能·后端
鶴哥只手遮天2 小时前
React 19.3.1 源码深度剖析-第 12 章(下)RSC 与 Flight 协议
前端·react.js·开源
deli0072 小时前
TCP 三次握手到底发几个包?丢包重传动画实测一遍
前端
盟接之桥2 小时前
盟接之桥谈线束数字化-按单入按单出:线束企业库存管理的破局之道
大数据·前端·网络·数据库·人工智能·制造
巴勒个啦2 小时前
Prompt Engineering 实战:5 个让 AI 生成生产级业务代码的工程模式
java·前端
去伪存真2 小时前
AI时代,古法编程的码农路在何方?
前端