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

news2024/11/24 22:42:20

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.coloradmin.cn/o/1090872.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年中国分子筛稀土催化材料竞争格局及行业市场规模分析[图]

稀土催化材料能够起到提高催化剂热稳定性、催化剂活性、催化剂储氧能力&#xff0c;以及减少贵金属活性组分用量等作用&#xff0c;广泛应用于石油化工、汽车尾气净化、工业废气和人居环境净化、燃料电池等领域。 2015-2023年中国稀土催化材料规模及预测 资料来源&#xff1a;…

基于SSM的失物招领信息交互平台

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…

如何用vscode远程连接Linux服务器

文章目录 一、下载所需插件 二、远程连接 三、更改远程服务器名称 一、下载所需插件 打开商店 下载Remote - SSH 下载Remote - SSH扩展包 二、远程连接 点击远程资源管理器 点击SSH旁边的加号 输入&#xff1a;ssh 用户名服务器地址 介绍 第一个是保存到当前用户第二个是保…

2023年中国印花布产量及发展前景分析:数码印花将成为行业趋势[图]

印花布是用坯布印花纸高温印染加工而成&#xff0c;唐宋时期已很盛行&#xff0c;明清时期达到鼎盛。曾深受人们的喜爱&#xff0c;被作为陪嫁被褥、衣服的必备品。印花布上的图案称作花型&#xff0c;瓦栏、花型创意分享平台。 印花布种类 资料来源&#xff1a;共研产业咨询&…

【算法分析与设计】分支限界法(下)

目录 一、最大团问题1.1 问题描述1.2 上界函数1.3 算法思想 二、旅行售货员问题2.1 问题描述2.2 算法描述 三、电路板排列问题3.1 算法描述 四、批处理作业调度问题4.1 问题的描述4.2 限界函数4.3 算法描述 五、小结六、随机化算法 一、最大团问题 1.1 问题描述 给定无向图G(V…

2023年中国智能矿山发展历程及趋势分析:智能矿山健康有序发展[图]

智能矿山系统对矿山生产提质增效的效果已经开始显现&#xff1a;对不合规、有风险的行动进行及时预警&#xff0c;减少安全事故发生概率&#xff0c;避免因停产整顿产生的巨额亏损&#xff1b;精细化管理整个生产流程&#xff0c;避免过往传统粗放的流程导致的浪费&#xff0c;…

2023年中国精准PCI行业发展规模及发展趋势分析:精准PCI日益普及[图]

精准PCI的主要诊断技术包括作为血管内生理学诊断技术的血流储备分数&#xff08;FFR&#xff09;&#xff0c;以及作为成像技术的血管内超声 &#xff08;IVUS&#xff09;及光学相干断层扫描&#xff08;OCT&#xff09;。随着功能性和解剖评估的发展&#xff0c;在精密PCI领…

IDEA启动C:\Users\badboy\.jdks\corretto-17.0.7\bin\java.exe -Xmx700m报错

出现的现象 这里没有记录当时的截图&#xff0c;主要报错如下&#xff1a; C:\Users\badboy.jdks\corretto-17.0.7\bin\java.exe -Xmx700m … Error occurred during initialization of VM Failed setting boot class path. 排查方式 遇到这种问题我首先就是百度&#xff0c;…

14.4 Socket 双向数据通信

所谓双向数据传输指的是客户端与服务端之间可以无差异的实现数据交互&#xff0c;此类功能实现的核心原理是通过创建CreateThread()函数多线程分别接收和发送数据包&#xff0c;这样一旦套接字被建立则两者都可以异步发送消息&#xff0c;本章将实现简单的双向交互功能。 首先…

2023年中国光纤传感器发展历程、需求量及行业市场规模分析[图]

光纤传感器是利用光纤作为媒介&#xff0c;将外界温度、应变等被测量转化为光纤中传输的光波的强度、相位、频率、波长、偏振态等光学信息的部件。光纤传感器由光源、入射光纤、出射光纤、光调制器、光探测器及解调器组成。其基本原理是将光源的光经入射光纤送入调制区&#xf…

嵌入式开发学习之STM32F407点亮LED及J-Link下载(二)

嵌入式开发学习之STM32F407点亮LED及J-Link下载&#xff08;二&#xff09; 开发涉及工具控制端口配置端口的设定与确认端口配置方法实现点亮LED程序下载与仿真 有工程实例&#xff0c;链接在最底部。 开发涉及工具 开发环境&#xff08;IDE&#xff09;&#xff1a;IAR-ARM8…

2023年中国尾气净化催化材料产量、需求量及行业市场规模分析[图]

尾气处理催化单元系由催化剂厂商将以催化材料和活性组分物质为主要组成的催化剂涂覆在蜂窝陶瓷或金属等载体上而成&#xff0c;催化剂则起到处理尾气中有害物质的各类化学反应的关键催化作用&#xff0c;主要由稀土材料、氧化铝材料、贵金属材料等催化材料和增强催化材料性能的…

华为云云耀云服务器L实例评测 | 实例评测使用之硬件参数评测:华为云云耀云服务器下的 Linux 网络监控神器 bmon

华为云云耀云服务器L实例评测 &#xff5c; 实例评测使用之硬件参数评测&#xff1a;华为云云耀云服务器下的 Linux 网络监控神器 bmon 介绍华为云云耀云服务器 华为云云耀云服务器 &#xff08;目前已经全新升级为 华为云云耀云服务器L实例&#xff09; 华为云云耀云服务器是什…

Ubuntu中不能使用ifconfig命令

​ 问题 打开终端使用如下命令不能运行&#xff1a; ifconfig显示如下错误: 解决方法 在VMware中的虚拟机下面打开“编辑虚拟机设置”&#xff0c;或者在已经打开的虚拟机面板上面打开“虚拟机—设置” 选择网络适配器&#xff0c;选择“NAT模式”&#xff0c;没开机的就…

如何使用C/C++刷新在终端上已经打印的内容

写本文的起源是因为在安装一些工具的时候&#xff0c;发现在终端上并行安装的情况下&#xff0c;显示安装信息是会修改之前已经打印出来的内容&#xff0c;这是怎么做到的呢&#xff1f;抱着对这个问题的好奇我进行了一些探索。 终端是如何运行的 首先是最关键的问题&#xf…

华为OD机考算法题:基站维修工程师

题目部分 题目基站维护工程师难度难题目说明题目说明小王是一名基站维护工程师&#xff0c;负责某区域的基站维护。 某地方有 n 个基站 ( 1 < n < 10 )&#xff0c;已知各基站之间的距离 s ( 0 < s < 500 )&#xff0c;并目基站 x 到基站 y 的距离&#xff0c;与基…

力扣第669题 修剪二叉搜索树 c++(注释)

题目 669. 修剪二叉搜索树 中等 相关标签 树 深度优先搜索 二叉搜索树 二叉树 给你二叉搜索树的根节点 root &#xff0c;同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树&#xff0c;使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元…

实验室超声波清洗机有什么优点?

无论是在工业生产中&#xff0c;还是在日常生活中&#xff0c;清洁工作总是贯穿其中。特别是在社会加工过程中&#xff0c;必须清洗仪器和表面的工作量很大。此外&#xff0c;还有许多人力不能接触到需要清洗的部分&#xff0c;需要使用专业设备进行清洗工作。实验室超声波清洗…

【数值分析】0 - 数值分析绪论

文章目录 一、数值分析介绍二、数值分析应用2.1 解三角函数2.2 计算多项式2.3 解线性方程组2.4 供水计划和生产调度计划的制定2.5 湘江水流量估计的实际意义2.6 机器学习或大数据 三、数值分析内容四、数值分析参考书目 学习视频&#xff1a;《数值分析》| 华科 | 研究生基础课…

C++标准模板(STL)- 类型支持 (数值极限,max_digits10,radix,min_exponent)

数值极限 定义于头文件 <limits> 定义于头文件 <limits> template< class T > class numeric_limits; numeric_limits 类模板提供查询各种算术类型属性的标准化方式&#xff08;例如 int 类型的最大可能值是 std::numeric_limits<int>::max() &…