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;
}
相关推荐
hunterandroid8 小时前
Paging 3 RemoteMediator 实战:构建离线优先的分页列表
android·前端
Underwood_178 小时前
星级评价——了解useState
前端
hunterandroid8 小时前
[鸿蒙从零到一] ArkUI 组件化实战:构建可复用、可组合的自定义组件
前端·华为·架构
一只公羊8 小时前
iPhone摄像头 在开发/调试过程中强行停止 App,导致 `AVCaptureSession` 没有被正常释放
前端
浮江雾9 小时前
Flutter第十节-----Flutter布局与组件全解析
android·开发语言·前端·学习·flutter·入门
xcLeigh10 小时前
Doubao-Seed-Evolving大模型接入教程|搭建全品类提示词+AI工具导航网页
前端·人工智能·python·ai·html·ai开发·豆包
巴勒个啦11 小时前
Vue 3.6 Vapor Mode 实战:我把一个 Vue3 项目的渲染性能提升了 4 倍
前端·angular.js
不简说11 小时前
# JS 代码技巧 vol.7 — 20 个浏览器 API 实战,自带 API 能干的事别自己封装
前端·javascript·面试
CodexDave11 小时前
数据库连接池耗尽:排查顺序与三层兜底
服务器·前端·数据库·git·云原生·容器·kubernetes