新闻中心
CSS Flex子元素比例分配flex-grow flex-shrink flex-basis解析
flex-grow、flex-shrink、flex-basis 共同控制 Flex 子元素的空间分配:flex-grow 定义剩余空间的扩展比例,值越大占据空间越多;flex-shrink 决定空间不足时的收缩能力,默认为1,值为0则不收缩;flex-basis 设置项目在主轴上的初始尺寸,可为长度、百分比或auto。三者可通过 flex 简写合并设置,如 flex: 1(即 1 1 0%)常用于等比填充,flex: auto 允许基于内容伸缩,flex: none 则固定尺寸不伸缩。掌握其组合逻辑可精准实现弹性布局,避免溢出或换行问题。

在使用 CSS Flex 布局时,flex-grow、flex-shrink 和 flex-basis 是控制子元素如何分配容器空间的三个核心属性。它们共同决定了 flex 项目的伸缩行为,理解它们的作用和组合方式对精准布局至关重要。
flex-grow:定义扩展比例
flex-grow 控制子元素在有剩余空间时的拉伸能力。它接收一个无单位的数值,表示该项目相对于其他 flex 项目应占据多少额外空间。
默认值为 0,表示不拉伸。如果所有子项的 flex-grow 都设为 1,则平均分配剩余空间;若某一项为 2,其余为 1,则该项将获得两倍于其他项的空间。
例如:- 两个子元素,flex-grow 分别为 1 和 1 → 各占一半剩余空间
- 分别为 2 和 1 → 第一个占 2/3,第二个占 1/3
flex-shrink:定义收缩比例
当 flex 容器空间不足时,flex-shrink 决定子元素的压缩程度。默认值为 1,表示可按比例缩小;设为 0 则不收缩。
它的计算不仅看数值,还与项目的主轴尺寸(如 width 或 flex-basis)相关。实际收缩量 = (flex-shrink × 主轴尺寸) / 加权总和。
常见情况:- 所有项目 flex-shrink: 1 → 等比压缩
- 某个项目 flex-shrink: 0 → 不压缩,其他项目承担溢出空间
- 设置较大值(如 3)→ 收缩更明显
flex-basis:设置主轴基础尺寸
flex-basis 指定子元素在分配剩余空间前的初始大小,相当于“起点尺寸”。它可以是长度值(如 200px)、百分比(如 50%),或 auto(根据内容决定)。
Tanka
具备AI长期记忆的下一代团队协作沟通工具
146
查看详情
当 flex-basis 为 auto 且未设置 width 时,元素大小由内容决定;设置为 0 时,空间完全由 flex-grow 分配。
典型用法:- flex-basis: 100px → 先占 100px,再根据 grow/shrink 调整
- flex-basis: 0 → 忽略内容大小,完全按比例分配(常用于等分布局)
- flex-basis: auto → 尊重 width 和内容
简写属性 flex:推荐使用方式
通常使用 flex 简写来同时设置这三个属性,格式为:
flex: [flex-grow] [flex-shrink] [flex-basis]常用简写形式:
- flex: 1 → 相当于 flex: 1 1 0% (常见于需要填满空间的项目)
- flex: auto → 相当于 flex: 1 1 auto(允许拉伸和压缩,基于内容)
- flex: none → 相当于 flex: 0 0 auto(不伸缩,固定尺寸)
- flex: 2 1 150px → grow=2, shrink=1, basis=150px
基本上就这些。掌握 flex-grow、flex-shrink 和 flex-basis 的作用逻辑,能让你更灵活地控制弹性布局中的空间分配,避免意外换行或溢出问题。
以上就是CSS Flex子元素比例分配flex-grow flex-shrink flex-basis解析的详细内容,更多请关注其它相关文章!
# 相关文章
# 网站布局优化软件下载
# 简单网站建设基本流程
# 佳木斯抖音关键词排名
# 丽江网站建设报价
# 关键词好看的字体排名是
# 文创模型网站推广
# 2022百度seo教程
# 3小时网站建设平台
# 哪个平台可以建设网站
# 沈阳网站建设目标
# css
# 推荐使用
# 第一个
# 选择器
# 两种类型
# 换行
# 中不
# 分别为
# 设为
# 值为
# 弹性布局
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
Django模型中自动计算可用余额的实现方法
斑马英语APP如何开启夜间护眼阅读_斑马英语APP夜间模式与低蓝光设置教程
QQ邮箱在线登录平台 QQ邮箱个人邮箱网页版入口
CSS Box Model与弹性按钮:维持布局稳定的动画实践
深入理解J*a合成构造器:何时以及为何阻止其生成
漫蛙2在线漫画入口 漫蛙正版漫画网页版直达
qq游戏跨平台入口_qq游戏多设备同步登录
J*aScript中赋值与自增运算符的复杂交互与执行机制
在Qt QML中通过Python字典动态更新TextEdit内容的教程
优化Django表单:提交验证失败后保留用户输入
J*a应用集成GitHub CLI与API认证指南
BetterDiscord插件中安全更新用户简介的实践指南
Excel Power Pivot如何处理XML数据源 构建高级数据模型
mcjs网页版流畅运行 mcjs低配电脑畅玩入口
葱吃多了会怎样 葱吃多了会伤胃吗
没有大陆身份证/银行卡如何实名微信? 亲测有效的几种方法分享
J*aScript数据结构转换:将对象数组按类别分组
C++如何打印当前代码行号与文件名_C++预定义宏FILE与LINE的使用
手机屏幕碎了但能正常使用怎么办 手机外屏碎裂的修复建议
电脑IP地址怎么查 查看本机IP地址的几种方法
Golang并发任务中错误如何聚合_Golang goroutine error收集方式
怎样使用“本地安全策略”提升Windows安全性_Secpol.msc配置指南【高手】
Golang如何实现简单的Web表单_Golang表单提交与验证处理方法
win11怎么查看应用耗电情况 Win11电池设置查看应用能耗排行榜【优化】
CSS Flexbox如何实现多行排列_flex-wrap wrap自动换行显示
LINQ to XML为何解析失败? 深入理解C# XDocument的异常处理
如何高效处理PHP中的Excel数据导入导出?PortPHP/Spreadsheet助你轻松搞定!
WordPress插件开发:正确注册卸载钩子与避免常见陷阱
MAC怎么安装Homebrew包管理器_MAC为开发者和高级用户安装命令行工具
优化MinIO list_objects_v2 操作的性能瓶颈与最佳实践
如何使用Go和Martini动态服务解码后的图片
文心一言怎样用插件调度API数据_文心一言用插件调度API数据【API调用】
Win11怎么开启卓越性能模式 Win11电源选项启用高性能释放硬件潜力【方法】
我的世界mc.js免费游戏直接能玩 我的世界mc.js小游戏免费秒玩入口
Django AJAX 文件上传教程:解决图片无法保存到模型的常见问题
sublime怎么预览Markdown渲染效果_Markdown Preview插件 for sublime教程
圆通快递查询实时追踪 圆通物流包裹状态快速查看
在命令行怎么运行html项目_命令行运行html项目方法【教程】
企业名称高精度匹配:N-gram方法在结构相似性分析中的应用
mc.js游戏直达 mc.js网页免下载版本秒进地址
怎样更改Windows系统的默认安装路径_避免C盘爆满的终极设置【技巧】
蛙漫官网漫画入口地址_蛙漫在线畅读无广告弹窗
淘宝支付提示失败如何解决 淘宝支付流程优化方法
Win11怎么合并任务栏图标 Win11开启任务栏合并减少图标占空间【方法】
学习通在线学习平台 学习通网页版直接进入课程中心
蛙漫漫画免费阅读入口_蛙漫官方正版无广告纯净版
J*aScript:在map操作中高效处理空数组
Lar*el 递归关系中排除指定分支的教程
谷歌浏览器怎么给标签页静音_Chrome标签静音快捷操作
在哪找SublimeJ远程工具_SFTP插件配置教程


2025-11-13
浏览次数:次
返回列表