CSS BFC是什么,应用实例

CSS BFC(块级格式化上下文)是一个Web页面渲染时生成的一种独立的渲染区域,它定义了一套渲染规则,用于控制块级盒子的布局和浮动元素与其他元素的交互。BFC可以避免出现一些常见的布局问题,提高页面的可靠性和可维护性。

BFC的形成有以下几种情况:

  • 根元素或包含根元素的元素
  • 浮动元素(float不为none)
  • 绝对定位元素(position为absolute或fixed)
  • 行内块元素(display为inline-block)
  • 表格单元格(display为table-cell)
  • 表格标题(display为table-caption)
  • overflow值不为visible的块级元素

应用实例:

1.清除浮动:

在一个包含浮动元素的容器内,当给该容器设置BFC时,容器的高度将被撑高,从而不需要手动清除浮动。

复制代码
.container{
  overflow: hidden; /* 设置BFC */
}

2.避免margin重叠:

在同一个BFC中的两个相邻元素的margin会发生重叠,可以利用BFC避免这种现象。

复制代码
.container{
  overflow: hidden; /* 设置BFC */
}
.box{
  margin-bottom: 20px;
}

3.实现多行文本溢出省略:

复制代码
.container{
  display: flex;
  overflow: hidden; /* 设置BFC */
}
.box{
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
相关推荐
hboot1 天前
别再被 TS 类型冲突折磨了!一文搞懂类型合并规则
前端·typescript
在西安放羊的牛油果1 天前
浅谈 import.meta.env 和 process.env 的区别
前端·vue.js·node.js
鹏北海1 天前
从弹窗变胖到 npm 依赖管理:一次完整的问题排查记录
前端·npm·node.js
布列瑟农的星空1 天前
js中的using声明
前端
薛定谔的猫21 天前
Cursor 系列(2):使用心得
前端·ai编程·cursor
用户904706683571 天前
后端问前端:我的接口请求花了多少秒?为啥那么慢,是你慢还是我慢?
前端
深念Y1 天前
仿B站项目 前端 4 首页 顶层导航栏
前端·vue·ai编程·导航栏·bilibili·ai开发
dragonZhang1 天前
基于 Agent Skills 的 UI 重构实践:从 Demo 到主题化界面的升级之路
前端·ai编程·claude
王林不想说话1 天前
提升工作效率的Utils
前端·javascript·typescript
weixin_584121431 天前
vue内i18n国际化移动端引入及使用
前端·javascript·vue.js