理解CSS3 的 max/min-content及fit-content等width值
本文首发在我的个人博客:
理解CSS3 的 max/min-content及fit-content等width值https://www.brandhuang.com/article/1744253362074
width/height 的属性值 fit-content
这是一个 CSS3 属性,用来设置元素的宽度和高度,值为 fit-content,表示元素的宽度和高度会根据内容自动适应。
先看兼容性(除了IE,主流浏览器本都支持了):https://caniuse.com
发现这个属性值还是在去年的项目中,在此之前从来没用过这个,甚至都不知道有这个 😰 。
有如下结构的 html 代码
<div class="container"><div class="left_content">31231</div><div class="right_content">31231</div>
</div>
container 占满整个区域(即 container 宽高基本固定),当内部内容宽高超过 container 的宽高时可以滚动, 在 container 容器中, left_content 和 right_content 高度都是根据后端接口返回数据渲染出来,高度不确定,需要根据内容自适应高度。
初始 css 如下
.container {display: flex;width: 300px;height: 300px;overflow: auto;background-color: aqua;
}
.left_content {flex: 1;background-color: rosybrown;
}
.right_content {flex: 1;background-color: lightgreen;
}
当 left_content 和 right_content 高度都比 container 低时,显示很正常
如图

当 left_content 和 right_content 高度比 container 高时,container 出现滚动条,但 left_content 或者 right_content 的高度不会改变,始终和 container 保持一致,但left_content 和 right_content 的内容会溢出。显示异常
如图

此时将 left_content 和 right_content 的 css 修改一下
.left_content {...height: fit-content
}
.right_content {height: fit-content
}
效果如图:

盒子高度始终和内容高度保持一致
fit-content 在其他场景下的应用,我暂时还没遇到。毕竟之前都没用过...
除 fit-content 外,还有其他2个属性值也有点意思
1、min-content
- 在文本不换行的情况下,将容器压缩到最小宽度;
- 如果内容是文本,会以单词为单位换行,中文会以单个字为单位换行,
2、max-content
- 在文本不换行的情况下,将容器压缩到最大宽度,即在一行展示内容;
初始 html 代码和 css 代码如下:
<div class="parent"><div class="box" style="background-color: gray;overflow: hidden;"><img src="./R.jpeg" width="100" alt=""><div>3123, 131, 231,31231,31231,312313,23131,231312,3131,313,123,1312,313,1231</div></div>
</div>
.parent {width: 300px;height: 300px;background-color: blueviolet;
}
当 box 容器不设置width时,他默认会撑满整个父容器
如图:

给 box 设置 deplay为inline-block,此时 box 的宽度会收缩到能包裹子元素的最小宽度

看图理解 min-content
只给 box 容器设置 width 为 min-content
效果如下图

因为此时图片的宽度为可被压缩的最小宽度,所以,box 会收缩到刚好能包裹图片的宽度。
如果box内的元素的文本最小长度超过图片宽度,box 的宽度会收缩到刚好能包裹文本的最小宽度。效果如下图

看图理解 max-content
只给 box 容器设置 width 为 min-content
效果如图, 当内容过多时会溢出

fit-content 结合了 min-content 和 max-content
即,如果 box 设置了 width:fit-content, 默认限制为 100%:
- 当 box 内的元素设置了
min-content时,box 的宽度会按min-content效果展现 - 当 box 内的元素设置了
max-content时,box 的宽度会按max-content效果展现 - 当 box 内的既有元素设置了
max-content又有元素设置了min-content,box 的宽度会按max-content和min-content以及 其他未设置 width 为这三个属性的最大宽度效果展现
如图:

另外,如果 box 设置了 width:fit-content, 只需给 box 设置 margin: 0 auto 即可实现水平居中
好了,就这么多,你理解了吗 😏 ?自己动手试试
感谢你的阅读。 😀
相关文章:
理解CSS3 的 max/min-content及fit-content等width值
本文首发在我的个人博客: 理解CSS3 的 max/min-content及fit-content等width值https://www.brandhuang.com/article/1744253362074 width/height 的属性值 fit-content 这是一个 CSS3 属性,用来设置元素的宽度和高度,值为 fit-content&#…...
关键路径任务延误,如何快速调整
快速识别延误原因、优化资源配置、实施任务并行、调整任务优先级是关键路径任务延误后快速调整的有效方式。其中,快速识别延误原因尤为重要,需要项目管理者及时发现影响关键路径任务延误的核心问题,通过系统性的分析,确保延误的具…...
Elasticsearch 全面解析
Elasticsearch 全面解析 前言一、简介核心特性应用场景 二、核心原理与架构设计1. 倒排索引(Inverted Index)2. 分片与副本机制(Sharding & Replication)3. 节点角色与集群管理 三、核心特点1. 灵活的查询语言(Que…...
linux入门四:Linux 编译器
一、C 语言编译器 GCC:开启编程之旅 1.1 GCC 安装:一站式工具链 GCC(GNU Compiler Collection)是 Linux 下最常用的 C/C 编译器,支持多种编程语言。安装命令(适用于 Debian/Ubuntu 系统)&…...
springboot集成springcloud vault读值示例
接上三篇 Vault---机密信息管理工具安装及常用示例 Vault机密管理工具集群配置示例 vault签发根证书、中间证书、ca证书流程记录 项目里打算把所有密码都放到vault里管理,vault提供了springcloud vault用来在springboot里连接vault,启动加载vault里的值放…...
什么是虚拟线程?与普通线程的区别
引言:线程的演进与挑战 在传统的并发编程中,线程是一种非常重要的概念。我们使用线程来实现任务的并发执行,从而提高程序的执行效率。普通线程(如 Thread 类)是一种重量级的线程,每个线程都对应着操作系统…...
edis 主从复制
Redis 主从复制是一种数据同步机制,主节点(Master)将数据复制到一个或多个从节点(Slave),从 而实现数据备份、读写分离和高可用性。 1、解决我们的日常一个单机故障,而衍生出来 主从架构 2、…...
机器视觉+深度学习,让电子零部件表面缺陷检测效率大幅提升
在精密加工的3C电子行业中,一抹0.1毫米的油渍,一粒肉眼难辨的灰尘或将引发整机性能隐患。当制造业迈入微米级品质竞争时代,产品表面看似微不足道的脏污缺陷,正成为制约企业高质量发展的隐形枷锁。分布无规律的污渍斑点、形态各异的…...
Java基础关键_035_Lambda 表达式
目 录 一、引例:TreeSet 排序 1.实现 Comparable 接口 2.比较器 3.匿名内部类 4.Lambda 表达式 5.Lambda 表达式和匿名内部类的区别 二、函数式编程 三、Lambda 表达式的使用 1.无返回值函数式接口 (1)无返回值无参数 (…...
OPEX baota 2024.02.26
OPEX baota 2024.02.26 运维集成软件宝塔2024.02.26作废例子: 最重要的两个地方:上传文件 网站,重启应用服务器(tomcat) 其他很少用的...
若依 前后端部署
后端:直接把代码从gitee上拉去到本地目录 (https://gitee.com/y_project/RuoYi-Vue ) 注意下redis连接时password改auth 后端启动成功 前端:运行前首先确保安装了node环境,随后执行: !!一定要用管理员权限…...
LeetCode算法题(Go语言实现)_37
题目 给你一棵以 root 为根的二叉树,二叉树中的交错路径定义如下: 选择二叉树中 任意 节点和一个方向(左或者右)。 如果前进方向为右,那么移动到当前节点的的右子节点,否则移动到它的左子节点。 改变前进方…...
网络3 子网掩码 划分ip地址
1.根据子网掩码判断主机数 IP地址网络位主机位 核心:将主机位划分为子网位和主机位 疑问:子网位有什么作用 子网掩码:网络位全为1,主机位全为0 主机数2^主机位 -2 2.根据主机和子网判断子网掩码 有一个B类网络145.38.0.0需要划…...
使用 react-three-fiber 快速重构 Three.js 场景⚛️
不明白的知识先放在一边,激发兴趣是第一步,所以不必纠结代码的细节,相信我你很快就会爱上这种感觉!!! 今天,我们将更进一步,将上一篇中vite npm传统 Three.js 原生代码完整 重构为 …...
RT-Thread 屏蔽在线软件包的方法
说明 可能大家对 RT-Thread 的 Kconfig 配置项,Scons 构建有些疑惑,其实 BSP 的 Kconfig 可以自由的配置,目录也可以自由的调整 RT-Thread BSP 默认都有在线软件包的配置项,如果你不需要在线软件包,也可以把这个配置项…...
深入理解Java反射
反射(Reflection)是Java语言的一个强大特性,它允许程序在运行时动态地获取类的信息并操作类或对象的属性、方法和构造器。就是在获取运行时的java字节码文件,通过各种方法去创建对象,反射是Java被视为动态语言的关键特性之一。 反射其实就是…...
Apipost自定义函数深度实战:灵活处理参数值秘籍
在开发过程中,为了更好地处理传递给接口的参数值,解决在调试过程中的数据处理问题,我们经常需要用到函数处理数据。 过去,我们通过预执行脚本来处理数据,先添加脚本,然后将处理后的结果再赋值给请求参数。…...
对重大保险风险测试的算法理解
今天与同事聊到重大保险风险测试,借助下面链接的文章, 谈IFRS 17下的重大保险风险测试 - 知乎 谈一下对下图这个公式的理解。 尤其是当看到下面这段文字的解释时,感觉有些算法上的东西,需要再澄清一些。 首先,上面文…...
如何白嫖Grok3 API? 如何使用Grok3 API调用实例?怎么使用Grok3模型?
前段时间,Grok3(想要体验Grok3的童鞋可以参考本文:Grok 上线角色扮演功能,教你课后作业手到擒来,Grok3使用次数限制?如何使用Grok3? Grok3国内支付手段如何订阅升级Premium - AI is all your need!&#x…...
学习Python的优势体现在哪些方面?
文章目录 前言易于学习和使用应用领域广泛丰富的开源库和社区支持跨平台兼容性职业发展前景好 前言 学习 Python 具有多方面的优势,这使得它成为当今最受欢迎的编程语言之一,以下为你详细介绍。 易于学习和使用 语法简洁易懂:Python 的语法…...
icoding题解排序
数组合并 假设有 n 个长度为 k 的已排好序(升序)的数组,请设计数据结构和算法,将这 n 个数组合并到一个数组,且各元素按升序排列。即实现函数: void merge_arrays(const int* arr, int n, int k, int* out…...
LangChain-检索系统 (Retrieval)
检索系统 (Retrieval) 检索系统是LangChain的核心组件之一,它提供了从各种数据源获取相关信息的能力,是构建知识增强型应用的基础。本文档详细介绍LangChain检索系统的组件、工作原理和最佳实践。 概述 检索系统解决了大型语言模型知识有限和过时的问…...
Fast网络速度测试工具
目录 网站简介 功能特点 测试过程 为什么使用Fast 如果网络速度不达标 网站简介 Fast是一个由Netflix提供的网络速度测试工具,主要用来测试用户的互联网下载速度。它以其简洁的界面和快速的测试过程而受到用户的欢迎。 功能特点 下载速度测试:这是…...
ubuntu20.04在mid360部署direct_lidar_odometry(DLO)
editor:1034Robotics-yy time:2025.4.10 1.下载DLO,mid360需要的一些...: 1.1 在工作空间/src下 下载DLO: git clone https://github.com/vectr-ucla/direct_lidar_odometry 1.2 在工作空间/src下 下载livox_ros_driver2&…...
制造企业数据治理体系搭建与业务赋能实践
当下制造企业正面临着前所未有的机遇与挑战,从多环节业务协同的复杂性,到海量数据资源的沉睡与孤岛化;从个性化定制需求的爆发,到供应链效率优化的迫切性——如何通过数据治理将“数据包袱”转化为“数据资产”,已成为…...
java基础多态------面试八股文
是什么是多态 类引用指向子类对象,并调用子类重写的方法,实现不同的行为 例子 class Animal {void sound() {System.out.println("动物发出声音");} }class Dog extends Animal {Overridevoid sound() {System.out.println("狗叫&…...
【LunarVim】解决which-key 自定义键位注册不成功问题
问题描述 LunarVim将which-key设置放在一个keymaps.lua中,然后config.lua调用reload “user.keymaps”,键位没用注册成功,而直接写在config.lua中,就注册成功 这暴露了LunarVim 插件和配置加载顺序的一些细节坑,下面解…...
开源推荐#5:CloudFlare-ImgBed — 基于 CloudFlare Pages 的开源免费文件托管解决方案
大家好,我是 jonssonyan。 寻找一个稳定、快速、还最好是免费或成本极低的图床服务,一直是许多开发者、博主和内容创作者的痛点。公共图床可能说关就关,付费服务又增加成本。现在,一个名为 CloudFlare-ImgBed 的开源项目…...
算法训练之动态规划(三)
♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨ 个…...
xv6-labs-2024 lab2
lab-2 0. 前置 课程记录 操作系统的隔离性,举例说明就是,当我们的shell,或者qq挂掉了,我们不希望因为他,去影响其他的进程,所以在不同的应用程序之间,需要有隔离性,并且࿰…...
