新闻中心
如何用css flex实现可伸缩侧边栏
使用CSS Flex布局实现可伸缩侧边栏,通过flex属性控制空间分配;2. 侧边栏设flex: 0 0 240px保持固定宽度,主内容区用flex: 1自动填充剩余空间;3. 添加collapsed类切换侧边栏宽度,结合J*aScript实现点击展开/收起;4. 配合媒体查询在小屏下默认收缩,实现响应式适配。

实现一个可伸缩的侧边栏,使用 CSS Flex 是一种简洁高效的方式。核心思路是利用 flex 属性让侧边栏和主内容区在容器中按需分配空间,同时支持固定宽度和弹性伸缩。
基本结构布局
先定义页面的基本 HTML 结构:
<div class="container"> <aside class="sidebar">侧边栏</aside> <main class="main-content">主内容</main> </div>
容器使用 flex 布局,让子元素横向排列。
CSS 样式设置
关键在于合理设置 flex 属性,控制侧边栏是否伸缩以及主内容如何响应。
.container {
display: flex;
height: 100vh; /* 占满视口高度 */
}
<p>.sidebar {
width: 240px; /<em> 默认宽度 </em>/
flex: 0 0 240px; /<em> 不增长、不缩小、基础宽度240px </em>/
background-color: #333;
color: white;
padding: 20px;
}</p><p>.main-content {
flex: 1; /<em> 占据剩余所有空间 </em>/
background-color: #f4f4f4;
padding: 20px;
}</p>说明:
-
flex: 0 0 2
40px 表示侧边栏不会随容器变化而伸缩,保持固定宽度。 - flex: 1 让主内容区域自动填充剩下的空间。
实现可伸缩效果
若希望侧边栏可以拖动调整宽度,需结合 J*aScript 监听鼠标事件。但仅用 CSS 可实现“点击切换宽窄”模式。
秀脸FacePlay
一款集成AI换脸、照片跳舞等多种AI特效玩法的App
124
查看详情
例如,添加一个收缩状态类:
.sidebar.collapsed {
flex: 0 0 60px;
width: 60px;
}
通过 JS 切换 collapsed 类来实现展开/收起:
document.querySelector('.toggle-btn').addEventListener('click', () => {
document.querySelector('.sidebar').classList.toggle('collapsed');
});
此时侧边栏在 240px 和 60px 之间切换,主内容自动适应剩余空间。
响应式优化
在小屏幕上可默认收起侧边栏:
@media (max-width: 768px) {
.sidebar {
flex: 0 0 60px;
}
}
也可以配合媒体查询或汉堡菜单实现移动适配。
基本上就这些。用 flex 实现可伸缩侧边栏,关键是理解 flex 的三个值含义,并让主内容区用 flex: 1 吸收多余空间。搭配简单 JS 就能实现交互式伸缩。
以上就是如何用css flex实现可伸缩侧边栏的详细内容,更多请关注其它相关文章!
# 是一种
# 杨和芦苞网站建设
# 重庆企业网站优化哪家好
# 大连seo服饰
# 青岛网站建设的优化服务
# 青羊区网站推广营销招聘
# 面试题如何建设网站优势
# 江苏可靠营销推广
# 宿迁网站优化多少钱
# 怎么做母婴网站推广
# 任丘智能化网站建设
# 中文网
# 相关文章
# 就能
# 选择器
# css
# 两种类型
# 按需分配
# 中不
# 如何用
# 鼠标
# 排列
# flex布局
# ai
# ssl
# js
# html
# java
# javascript
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
如何更改在 Excel 中打开超链接时的默认浏览器
蓝湖怎样用切图标注提对接效率_蓝湖用切图标注提对接效率【设计对接】
钉钉视频会议画面卡顿如何解决 钉钉会议画面优化方法
React中useState与局部变量:理解组件状态管理与渲染机制
CSS Grid如何控制元素对齐_align-items与justify-items组合使用
PyTorch模型训练效果不佳?深入剖析常见错误与调试技巧
J*aScript实现单选按钮与关联输入框的联动禁用教程
使用J*aScript检测输入元素是否包含在特定类中
163邮箱网页版入口导航平台 163邮箱网页版登录入口官网导航
Win10如何恢复误删的快捷方式_Win10重建常用软件快捷方式
理解Python模块与全局变量的作用域管理
怎样把文件彻底粉碎无法恢复_Windows下安全删除敏感数据【隐私保护】
Shopware订单对象中获取产品自定义字段的正确方法
Mac终端命令大全_Mac常用Terminal指令速查
解决 Express.js 中 PUT 请求密码修改失败的路由配置指南
谷歌浏览器无痕模式怎么开 Chrome开启无痕浏览设置方法【教程】
mcjs网页版在线存档 mcjs云存档登录入口
在J*a中如何捕获IndexOutOfBoundsException_索引越界异常防护方法说明
可靠CSGO开箱平台解析 CSGO开箱网合集
如何在J*a中实现统一对象行为接口_项目大型化时的接口规范化
126邮箱手机版登录官网2026_126手机邮箱免费入口最新
漫蛙2在线漫画入口 漫蛙正版漫画网页版直达
解决Bootstrap卡片顶部边距导致背景图下移的问题
Windows10怎么开启存储感知 Windows10系统设置自动清理临时文件释放C盘空间【教程】
Golang如何实现微服务鉴权与权限控制_Golang微服务鉴权与权限管理实践
J*aScript中安全有效地处理localStorage字符串数据
腾讯QQ邮箱官方网站_QQ邮箱网页版在线登录
俄罗斯Yandex免登录入口_Yandex搜索引擎官网一键直达
俄罗斯浏览器官网直达链接 俄罗斯浏览器最新在线入口导航
一加手机电池耗电快怎么办_一加手机电池耗电快的解决方法
qq游戏免费畅玩入口_qq游戏电脑版快速启动
Windows10怎么开启夜间模式 Windows10系统设置调整色温与亮度缓解夜间用眼疲劳【教程】
抖音未来赚钱的新趋势 2025年值得关注的变现风口分析
没有大陆身份证/银行卡如何实名微信? 亲测有效的几种方法分享
在J*a中如何使用BigDecimal进行高精度计算_BigDecimal类应用指南
如何在Python中使用Optional类型处理可变对象并避免Pylint警告
win11开机启动修复循环怎么办 Win11无法进入系统高级启动解决方法【修复】
2025-2030年全球乘用车销量预测:新能源成增长主力
J*aScript生成器_j*ascript异步迭代
高德地图怎么看全景照片_高德地图全景照片浏览教程
如何使 Jest 模拟函数默认抛出错误以提高测试效率
Win10如何清理注册表垃圾 Win10注册表维护与优化指南【慎用】
Composer的 "check-platform-reqs" 命令有什么用_在部署前检查生产环境是否满足Composer依赖需求
单12V-2×6实现为RTX 5090供电750W!甚至都没敢跑分
CSS布局:解决全屏元素100%尺寸与外边距导致的页面溢出问题
J*a如何使用AtomicInteger控制计数_J*a无锁计数器性能分析
Log4j Console Appender性能瓶颈与高并发优化策略
拷贝漫画电脑版官网入口 拷贝漫画(PC版)在线直达
Go语言中Map值调用指针接收器方法的限制与应对
HTML5原生日期选择器与jQuery UI:实现日期选择器的联动与程序化控制


2025-10-11
浏览次数:次
返回列表
40px 表示侧边栏不会随容器变化而伸缩,保持固定宽度。