新闻中心

如何通过css flex-grow与flex-shrink实现比例布局

2025-10-05
浏览次数:
返回列表
flex-grow按比例分配剩余空间,flex-shrink按权重收缩;如flex:1和flex:2子元素宽比为1:2,flex-shrink越大收缩越强,结合flex简写可实现精确响应式布局。

如何通过css flex-grow与flex-shrink实现比例布局

在使用 CSS Flexbox 布局时,flex-growflex-shrink 是控制子元素如何分配容器剩余空间或收缩以适应空间的关键属性。通过合理设置这两个值,可以轻松实现比例布局

flex-grow:定义扩展比例

当 flex 容器中有剩余空间时,flex-grow 决定子元素的扩展能力。

• 值为 0 表示不扩展。
• 值大于 0 表示按比例分配剩余空间。
• 比如两个子元素分别设置 flex-grow: 1 和 flex-grow: 2,它们将按 1:2 的比例瓜分剩余空间。

示例:

.container {
  display: flex;
}
.item1 { flex-grow: 1; }
.item2 { flex-grow: 2; }

此时 .item2 的宽度是 .item1 的两倍(前提是初始宽度相同)。

立即学习“前端免费学习笔记(深入)”;

flex-shrink:定义收缩比例

当子元素总宽度超过容器时,flex-shrink 控制它们的收缩程度。

• 值为 0 表示不收缩。
• 值越大,收缩得越多。
• 默认值是 1,即所有子元素等比收缩。

注意:flex-shrink 计算基于子元素的基准尺寸(flex-basis 或 width)和 shrink 权重综合决定。

OneStory OneStory

OneStory 是一款创新的AI故事生成助手,用AI快速生成连续性、一致性的角色和故事。

OneStory 319 查看详情 OneStory

示例:

.item1 { flex-shrink: 1; width: 200px; }
.item2 { flex-shrink: 3; width: 100px; }

当空间不足时,.item2 虽然原始宽度小,但会比 .item1 收缩得更剧烈,因为它的 flex-shrink 值更大。

结合使用实现精确比例布局

要实现稳定的比例布局,推荐使用 flex 简写属性,同时设置 grow、shrink 和 basis。

常见模式:

/* 三等分布局 */
.item { flex: 1; } /* 等同于 flex: 1 1 0% */
<p>/<em> 2:1 比例布局 </em>/
.item1 { flex: 2; }
.item2 { flex: 1; }</p><p>/<em> 固定比例,防止压缩到最小内容宽度以下 </em>/
.item1 { flex: 2 1 0; }
.item2 { flex: 1 1 0; }</p>

其中 flex: N 实际等价于 flex: N 1 0%,表示按比例分配剩余空间,且从 0 开始增长,适合精确比例控制。

基本上就这些。掌握 flex-grow 与 flex-shrink 的权重逻辑,再配合 flex-basis 或设为 0,就能灵活构建各种响应式比例布局。关键在于理解“按比例分配”和“按权重收缩”的机制。

以上就是如何通过css flex-grow与flex-shrink实现比例布局的详细内容,更多请关注其它相关文章!


# 更大  # 广告微信营销推广方案设计  # 快销品营销推广计划书  # 沧县手机网站推广  # 哈尔滨短视频推广营销  # 鹤岗银川网站推广  # 昆明项目推广网站建设  # 无锡SEO专家助力企业成长  # 平度网站优化建设  # 如何营销茶店产品推广策略  # 关键词排名规格怎么写的  # 设为  # css  # 中有  # 就能  # 选择器  # 两种类型  # 值为  # 中不  # 越大  # 按比例  # 响应式布局  # ai 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: win11 Snap Layouts怎么用 Win11窗口布局与分屏多任务高效指南【必学】  快手赚钱渠道_快手收益来源  不同用户不同价格! 索尼开启账户个性化定价测试  MongoDB聚合管道:正确匹配对象数组中_id的方法  动漫岛观看全网网 动漫岛在线正版动漫入口  PHP表单数据传递:如何通过隐藏输入字段获取动态ID  蛙漫移动版在线看 蛙漫手机浏览器直达入口  如何在Promise链中有效终止错误处理后的执行  谷歌google账号怎么注册账号 谷歌账号注册官方流程  Django模型中自动计算可用余额的实现方法  4399免费游戏网址入口 4399小游戏免费入口点开即玩  漫蛙2网页版漫画入口 漫蛙漫画在线官方登录  C++如何实现异步操作_C++11使用std::future和std::async进行异步编程  顺丰国际快递查询 国际件官方查询入口  PySpark中高效提取字符串右侧可变长度数字:使用regexp_extract  CSS自定义字体样式被系统字体替换怎么办_font-face方式指定font-display控制渲染策略  在Typer应用中优雅地处理和重组任意命令行参数  微信群消息显示延迟如何解决 微信群消息刷新优化方法  Win11怎么修改默认浏览器_Windows 11设置Chrome为默认  谷歌浏览器怎么给标签页静音_Chrome标签静音快捷操作  Surface怎么安装系统 微软Surface Pro U盘重装win11教程  蛙漫2台版漫画地址 Manwa2正版网页版链接  163邮箱注册官网 免费申请163个人邮箱  动漫花园资源网使用步骤_动漫花园资源网下载流程  msn官网入口地址手机版 msn官方网站手机最新链接  vivo浏览器怎么扫描二维码 vivo浏览器内置扫一扫功能使用方法  响应式图片在网页设计中的正确实现方法  向日葵客户端怎么进行远程CentOS控制_向日葵客户端远程CentOS控制操作教程  在J*a中如何在J*a中使用异常机制记录错误日志_异常日志实践经验  小红书怎么解除第三方平台绑定_小红书多平台登录解绑方法介绍  如何使用CaptainHook和Composer管理Git钩子_在提交前自动运行代码检查的Composer配置  如何使用Node.js csv 包按条件移除含空字段的CSV记录  steam官方网页快速访问 steam账号注册全流程  J*a TimerTask中HashMap意外清空的深层原因与解决方案  提升Kafka消费者健壮性:会话超时处理与消息处理语义  MAC怎么让Dock栏只显示当前运行的应用_MAC终端命令实现极简Dock栏  Spring Boot内嵌服务器与J*a EE全栈特性:选择与部署策略  Win11如何使用Windows Sandbox Win11沙盒功能开启与使用教程【详解】  极速漫画官方主页网址 极速漫画漫画在线浏览官网链接  《铁拳8》黑皮辣妹新实机:元气满满的18岁少女!  React项目中导航栏Logo自适应布局:避免裁剪与布局溢出  Windows10怎么开启夜间模式 Windows10系统设置调整色温与亮度缓解夜间用眼疲劳【教程】  PS5 Pro有点优势但不多! 《燕云十六声》PS5平台与PC性能画面对比  厨房不锈钢水槽发黑生锈怎么处理_水槽用可乐+锡纸2分钟抛亮如新  126邮箱手机版登录官网2026_126手机邮箱免费入口最新  必由学登录入口 必由学官方网站在线访问链接  Excel如何用迷你图显趋势_Excel用迷你图显趋势【趋势小图】  QQ邮箱网页版快速登录 QQ邮箱邮箱账号官方入口地址  html两个JS只运行一个怎么办_让双JS在html中都运行方法【技巧】  深入理解Go语言中的指针类型:以*string为例 

搜索