当前位置: 首页 > news >正文

如何理解BFC、开启BFC、BFC解决哪些问题

1.BFC 概念

BFC 英文名为 Block Formatting Context (块级格式化上下文)
具体可查看
MDN

2.BFC的作用

  1. 元素开启BFC后,子元素不会发生margin塌陷问题
  2. 元素开启BFC后,子元素浮动,元素不发生高度塌陷
  3. 元素开启BFC后,该元素不被其他元素浮动遮挡

3.如何开启BFC

1.根元素<html>默认开启BFC
2.浮动元素
3.绝对、固定定位
4.overflow的值为 hidden、scroll、auto
5.行内块元素
6.display:table;或者display:flow-root

演示

此处我们就margin塌陷问题,展示开启BFC的效果
1.首先制造margin塌陷现象

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>*{margin: 0;padding: 0;}.outer{width: 400px;background-color: gray;}.inner{width: 100px;height: 100px;margin: 50px;}.inner1{background-color: orange;}.inner2{background-color: green;}.inner3{background-color: skyblue;}</style>
</head>
<body><div class="outer"><div class="inner inner1">1</div><div class="inner inner2">2</div><div class="inner inner3">3</div></div>
</body>
</html>

效果
在这里插入图片描述
在这里插入图片描述
2.父元素开启BFC,解决子元素margin塌陷问题
在原有代码做出的修改

.outer{width: 400px;background-color: gray;/* 开启BFC *//* float: left; *//* position: absolute; *//* position: fixed; *//* overflow: hidden; *//* overflow: scroll; *//* overflow: auto; *//* display: inline-block; *//* display: table; */display: flow-root;}

效果
在这里插入图片描述
在这里插入图片描述
其他两种情况,大家可以自行尝试

http://www.lryc.cn/news/192754.html

相关文章:

  • 3D包容盒子
  • 用 Three.js 创建一个酷炫且真实的地球
  • 【数据结构】线性表与顺序表
  • ChatGPT
  • 矿区井下智慧用电安全监测解决方案
  • 网站列表页加密:三次请求后返回内容多\r
  • 12.JVM
  • 关于网络协议的若干问题(四)
  • opencv图像卷积操作和常用的图像滤波函数
  • 习题1. 31
  • 见微知著:从企业售后技术支持看云计算发展
  • C++笔记之如何给 `const char*` 类型变量赋值
  • 9.Linear Maps
  • 大数据Doris(十):添加BE步骤
  • Vue2 +Element UI 表格行合并
  • SuperEdge易学易用系列-一键搭建SuperEdge集群
  • 农场养殖农产品商城小程序搭建
  • 大语言模型之十七-QA-LoRA
  • UML组件图综合指南:设计清晰、可维护的软件系统
  • 深入浅出ThreadPoolExecutor(一)
  • 网站的常见攻击与防护方法
  • 网络工程师知识点3
  • mongoDB 性能优化
  • 10月13日,每日信息差
  • Spring Boot 中的 Redis 数据操作配置和使用
  • rust宏
  • 性能测试之性能测试指标详解
  • CustomNavBar 自定义导航栏视图
  • canal rocketmq
  • 【数据库系统概论】第九章关系查询处理何查询优化