CSSflex-grow与flex-shrink详解指南
时间:2025-12-10 09:24:28 438浏览 收藏
珍惜时间,勤奋学习!今天给大家带来《CSS响应式布局:flex-grow与flex-shrink应用详解》,正文内容主要涉及到等等,如果你正在学习文章,或者是对文章有疑问,欢迎大家关注我!后面我会持续更新相关内容的,希望都能帮到正在学习的大家!
使用 flex-grow 和 flex-shrink 可实现响应式主次布局:侧边栏设 width: 200px 和 flex-shrink: 0 防压缩,主内容设 flex-grow: 1 占据剩余空间;小屏幕时通过媒体查询改为垂直堆叠,提升移动端体验。

在网页布局中,主次内容区域(如侧边栏+主内容)很常见。使用 Flexbox 可以轻松实现响应式效果,其中 flex-grow 和 flex-shrink 是关键属性。它们控制元素如何分配容器中的剩余空间以及是否允许压缩。
理解 flex-grow 与 flex-shrink
flex-grow 定义项目在容器中有剩余空间时,按比例扩展的能力。值为 0 表示不扩展;值越大,占据的额外空间越多。
flex-shrink 控制当空间不足时,项目是否允许缩小。默认值是 1,表示可压缩;设为 0 则保持原始尺寸(可能溢出)。
结合使用这两个属性,可以让主内容区灵活伸展,而侧边栏保持固定或有限变化。
基本结构与 Flex 布局设置
HTML 结构通常如下:
CSS 中启用 Flexbox:
.container {display: flex;
}
这样两个子元素会并排显示。接下来通过 flex-grow 和 flex-shrink 控制行为。
设置主内容自适应,侧边栏固定宽度
让主内容区填充剩余空间,侧边栏保持固定宽度:
.sidebar {width: 200px;
flex-shrink: 0; /* 防止被压缩 */ }
.main-content {
flex-grow: 1; /* 占据所有可用空间 */
flex-shrink: 1;
}
这里 flex-shrink: 0 确保侧边栏不会因空间不足而变窄,避免文字挤在一起。而 flex-grow: 1 让主区域自动拉伸。
响应式优化:不同屏幕下的行为调整
在小屏幕上可以改变布局方向或调整 flex 属性:
@media (max-width: 768px) {.container {
flex-direction: column;
}
.sidebar,
.main-content {
width: auto;
}
}
此时两个区域垂直堆叠,更适合手机浏览。主内容依然能自然撑开高度,无需额外设置 grow/shrink。
基本上就这些。通过合理使用 flex-grow 和 flex-shrink,配合固定尺寸和媒体查询,就能做出既美观又实用的响应式主次布局。不复杂但容易忽略细节。
以上就是《CSSflex-grow与flex-shrink详解指南》的详细内容,更多关于的资料请关注golang学习网公众号!
-
502 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
198 收藏
-
415 收藏
-
417 收藏
-
122 收藏
-
129 收藏
-
111 收藏
-
460 收藏
-
341 收藏
-
387 收藏
-
175 收藏
-
377 收藏
-
501 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习