关于css中bfc的理解

首先需要了解的是bfc的缩写是block formatting context 块级格式化上下文

那么块级格式化上下文意味着我们在bfc的区域内生成了一块独立于当前文本流的样式、它不受外界样式的影响、有着专属于自己的样式。

基于这样的定义我们可以避免一些样式冲突、在我们开发者面对复杂布局时可以更加从容的应对,

与bfc对应的是我们的ifc布局即内联式样式布局,以垂直竖列进行布局,不会生成新的块级容器

以上是对于bfc的理解

那么bfc是在什么特定情况下生成呢,或者换句话说开发的过程中需要怎么操作,可以借助我们的bfc从容面对我们复杂的布局呢

  1. 根元素:即HTML文档的顶级元素。
  2. 浮动元素 :元素的float属性值不是none
  3. 绝对定位元素 :元素的position属性值为absolutefixed
  4. 行内块元素 :元素的display属性值为inline-block
  5. 表格单元格 :元素的display属性值为table-cell
  6. 表格标题 :元素的display属性值为table-caption
  7. display值为flow-root的元素:这会创建一个新的块格式化上下文。
  8. overflow值不为visible的块元素 :即元素的overflow属性值为hiddenautoscroll
  9. flex容器 :即元素的display属性值为flexinline-flex

ps不是所有的display都会导致bfc

这边除了none block inline

相关推荐
陈随易16 小时前
有生之年系列,Nodejs进程管理pm2 v7.0发布
前端·后端·程序员
冰暮流星16 小时前
javascript之事件代理/事件委托
前端
陈随易17 小时前
AI时代,你还在坚持手搓文章吗
前端·后端·程序员
里欧跑得慢20 小时前
17. Flutter Hero动画实现:让界面过渡更加优雅
前端·css·flutter·web
IT_陈寒20 小时前
Vue的这个响应式陷阱,我debug了一整天才爬出来
前端·人工智能·后端
kyriewen20 小时前
前端测试:别为了100%覆盖率而写测试,那是自欺欺人
前端·javascript·单元测试
去伪存真20 小时前
我自己写的第一个skills--project-core-standards
前端·agent
Data_Journal21 小时前
如何使用cURL更改User Agent
大数据·服务器·前端·javascript·数据库
竹林81821 小时前
wagmi v2 多链钱包切换:一个 Uniswap 仿盘项目让我踩了三天坑
前端·javascript
donecoding21 小时前
Playwright MCP 页面捕获:Snapshot、截图、HTML 到底选哪个?
前端·ai编程·前端工程化