BFC理解和应用

news/2025/2/21 4:26:24/

现象:有些同事在工作的过程中遇到高度塌陷、margin重叠、标准元素被浮动元素覆盖的情况,有时候通过百度的方法是解决了,但是没有理解其原因是什么。这就引出了我们的主角BFC。

BFC: Block format content 即块级格式化上下文 ,它是一块独立的渲染区域,内部元素的渲染不会影响边界以外的元素。

形成BFC的常见条件:

1、float不是none即浮动布局

2、position是absolute或者fixed

3、overflow 不是visible即设置了滚动

4、display是flex 、inline-block等

现象:

1、子元素把父元素顶到造成高度塌陷

2、所有毗邻的两个或者多个盒元素的margin将会合并为一个margin共享

3、浮动元素把标准流元素覆盖

针对一个场景介绍一下bfc的应用:

高度塌陷:

什么是高度塌陷,在其子元素中设置了浮动的效果(子元素变成了一个独立的渲染区域即BFC),而浮动元素脱离了标准的文档流,导致当前的元素没有被撑起来,这种现象就是高度塌陷。

解决方法:

清除浮动,其实这个也有很多的方法,我们这里只写推荐的一种

用伪元素::after清除浮动

.cleatfix:after {

   content:"";

   display:table;

   clear:both;

其他的问题我们也都可以通过形成bfc来解决


http://www.ppmy.cn/news/41846.html

相关文章

Nginx配置与应用

Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新。性能是 Nginx 最重要的考量&#xf…

Kubernetes 笔记(13)— 有状态的应用 StatefulSet、实现 StatefulSet 的数据持久化

1. 什么是有状态的应用 有了持久化存储 PersistentVolume,应用就可以把一些运行时的关键数据落盘,相当于有了一份“保险”,如果 Pod 发生意外崩溃,也只不过像是按下了暂停键,等重启后挂载 Volume,再加载原…

DJ编曲用什么软件,DJ编曲教需要哪些步骤

随着现在人们的生活水平不断提高,我们的精神生活也越来越丰富,对于现在的年轻人来说,DJ舞曲是一个较受欢迎的领域,有许多年轻人对DJ这个职业感兴趣,想要深入了解DJ编曲这份工作,那么今天我们就来说一说DJ编…

2.rabbitmq-linux安装

一.环境准备 1.RabbitMQ版本 和 Erlang 版本兼容性关系 https://www.rabbitmq.com/which-erlang.html 2.官方安装包下载地址 【erlang下载地址】:https://github.com/rabbitmq/erlang-rpm/releases/tag/v21.3.1【rabbitmq下载地址】:https://github.co…

派盘为您的个人数据安家

现如今,我们的生活中有着各种各样的数据。在工作中会有各种文件、邮件;在生活中则有照片和视频等。数据的来源多,时间点不一致且混乱。 数据是否能安全、稳定、长久的存储以及便捷高效的使用对我们来说相当重要。你是否经常出差需要带上电脑或者移动硬盘,想存网盘又怕丢失或…

sftp使用

Client端使用Server端的账户username,sftp登录Server,除了IP地址,也可以使用/etc/hosts定义的域名,注意,Client的默认路径:Shell中的当前路径,Server的默认路径:server账户家目录 ​…

华为OD机试-整理扑克牌-2022Q4 A卷-Py/Java/JS

给定一组数字,表示扑克牌的牌面数字,忽略扑克牌的花色,请按如下规则对这一组扑克牌进行整理: 步骤1、对扑克牌进行分组,形成组合牌,规则如下:当牌面数字相同张数大于等于4时,组合牌为“炸弹”:3张相同牌面数字 + 2张相同牌面数字,且3张牌与2张牌不相同时,组合牌为“葫…

C++多线程--线程安全的队列实现(基于锁)

0 引言 本文主要是根据C++ Concurrency in Action (豆瓣)第6章的基于锁的数据结构来讲解相应的队列实现。 本文会给出两种队列 基于STL的queue的线程安全队列基于链表的线程安全队列1 预备知识 如何实现一个线程安全的队列?需要遵循什么样的准则? 可参考: C++多线程--发…