如何用css transition制作折叠菜单动画
使用max-height结合transition实现折叠菜单动画,通过切换expanded类控制max-height从0到300px变化,配合overflow:hidden实现平滑展开收起效果。
使用 CSS transition 制作折叠菜单动画,关键是控制元素的高度或 max-height 配合过渡效果,实现平滑展开与收起。下面介绍一种常见且实用的做法。
1. 使用 max-height 实现可动画的高度变化
直接对 height: auto 做 transition 是无效的,因为 auto 不是一个具体数值。解决方法是使用 max-height 来模拟高度变化。
基本思路:
- 默认状态:设置较小的 max-height(如 0)并隐藏溢出内容(overflow: hidden)
- 展开状态:设置足够大的 max-height(如 500px),确保能容纳所有子内容
- 通过类名切换触发 transition
.menu {
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease-out;
}
.menu.expanded {
max-height: 500px;
}
2. HTML 结构与 JavaScript 控制
菜单结构通常包含一个按钮和一个下拉容器:
知网AI智能写作
知网AI智能写作,写文档、写报告如此简单
38
查看详情
用 JavaScript 切换类名:
function toggleMenu() {
const menu = document.getElementById('menu');
menu.classList.toggle('expanded');
}
3. 优化体验的小技巧
让动画更自然,可以注意以下几点:
- max-height 设置合理值:不能太小导致内容被裁剪,也不能太大影响性能(比如设成 9999px 可能造成卡顿)
- 使用 ease-in-out 曲线:比 linear 更顺滑
-
添加 will-change 提升性能(可选):
will-change: max-height; - 配合 opacity 或 transform 增加视觉层次(例如淡入淡出)
4. 完整示例代码
.menu {
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease-out;
background: #f8f8f8;
}
.menu a {
display: block;
padding: 10px;
text-decoration: none;
color: #333;
}
.menu.expanded {
max-height: 300px;
border-top: 1px solid #ddd;
}
function toggleMenu() {
const menu = document.getElementById('menu');
menu.classList.toggle('expanded');
}
基本上就这些。关键在于理解 max-height + overflow + transition 的组合用法,避免尝试对 height: auto 做动画。这种方式兼容性好,无需 JS 计算高度,适合大多数折叠菜单场景。
以上就是如何用css transition制作折叠菜单动画的详细内容,更多请关注数字提纲【www.sztg.com.cn】。
如非特殊说明,本站内容均来自于网友自主分享,如有任何问题均请联系我们进行处理!
猜您喜欢
苹果首款折叠手机白色版机模亮相 折痕有点明显
2026-07-11话说从目前披露的供应链进度来看,今年9月份苹果就会正式发布旗下首款折叠屏手机,这款旗舰机型大概率会冠以iPhoneUltra的称号,近期网络上已经流出了它的白色版本机模的实拍图。 今天有海外博主在X平台发布推文,晒出了这款白色苹果首款折叠手机的完整机模,整机的外观轮廓和此前曝光过的黑色版机模保持完全一致,方正的机身造型延续了苹果近年旗舰机型的设计语言。 这次曝光的量产机模展示出,屏幕开合的中间位置...
如何用豆包专业版搭建客户反馈系统
2026-06-28需将客户反馈转化为可行动清单:第一步上传纯文本/CSV/Excel并启用智能分类;第二步用三类提示词提取高频问题、负面断点和隐含需求;第三步按角色生成洞察摘要并导出带ID映射表。 ☞☞☞AI智能聊天,问答助手,AI智能搜索,多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 你需要把散落在问卷、客服对话、App评论里的客户声音,变成可行动的产品改进清单和运营决策依据,而不是靠人工逐条翻看Excel表...
可灵AI如何用脚本直驱模式快速生成视频【指南】
2026-06-28可灵AI“脚本直驱模式”需严格遵循【时间码】+【画面描述】+【关键动作动词】结构,校验失败超3行则降级;启用时须设60fps、强制执行、上传首帧参考图,并支持文本/CVS/JSON/Markdown/画布五种直驱路径。 ☞☞☞AI智能聊天,问答助手,AI智能搜索,多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 要用可灵AI把写好的短视频脚本直接变成画面连贯、节奏准确的视频,不绕路不重写不拼接,就...
我的世界如何用指令生成牛马
2026-06-24我的世界游戏里面有很多的指令,今天给大家带来了游戏里面的用指令生成牛马方法,还有小伙伴不清楚如何用指令生成牛马,那么下面就是相关的内容. 我的世界用指令生成牛马方法 1、在我的世界中,玩家想要用指令生成牛马需要在聊天窗口中输入指令,指令格式为/give@pminecraft:数量。 2、在游戏中按下“T”键或者“/”键来打开聊天窗口。 3、生成一头牛:/give@pminecraft:cow1 4...
苹果折叠屏渲染图曝光 厚度仅4.5mm支持分屏
2026-06-19日前据报道,有博主从iOS27测试版的代码中发现了线索,据此制作出了苹果预计今年秋季发布的折叠屏手机iPhoneUltra(暂名)的渲染图。 据称,这组渲染图是目前最接近真机外观的版本,预计售价将超过2000美元。 外观设计上,新机采用书本式横向内折方案,机身选用钛金属打造,质感轻薄坚固。 展开后单边厚度仅4.5毫米,对比现款iPhoneAir还要更纤薄,折叠收纳后尺寸贴合常规直板手机,日常携带无...
我的世界如何用附魔书来附魔武器
2026-06-131,附魔书是给相匹配的物品升级属性,玩家要根据不同附魔书的属性,合成不同的附魔书。需要借助附魔台以及相关材料进行制作;2,把附魔书和需要附魔的装备放在附魔台上操作。选择要升级的属性即可。 详细答案: 1,首先要制作附魔书。附魔书是给相匹配的物品升级属性,玩家要根据不同附魔书的属性,合成不同的附魔书。需要借助附魔台以及相关材料进行制作。 2,进行附魔。把附魔书和需要附魔的装备放在附魔台上操作。选择要...
我的世界附魔台如何用
2026-06-11首先我们先打开工作台用三个纸跟一个皮革合成书;第二步将三个书放在中间,其余放木板合成书架;第三步将书架按照如图摆放,至少摆放16个书架;第四步打开工作台,按图中顺序摆放合成附魔台;第五步将附魔台放在书架中心位置;第六步打开附魔台放入钻石剑与青金石。 详细答案: 首先我们先打开工作台用三个纸跟一个皮革合成书。 第二步将三个书放在中间,其余放木板合成书架。 第三步将书架按照如图摆放,至少摆放16个书架...
苹果首款横折叠屏手机机模曝光 预计9月正式发布
2026-06-04日前有博主曝光了苹果首款横向折叠屏手机机模,新机网传命名为iPhoneFold或iPhoneUltra,预计将于今年9月正式发布。 作为苹果首度入局折叠屏赛道的量产机型,新机在外观设计、屏幕方案和机身工艺上带来诸多全新突破,是今年智能手机市场最受期待的重磅新品之一。 外观方面,本次亮相机模采用纯白极简配色,延续苹果高端简约的设计风格。 据悉,量产版仅提供两款纯色配色,沿用初代iPhoneX的发布策...
如何用Kimi实现自动化邮件订阅推送_利用Kimi联网整理
2026-06-04Kimi可自动抓取网页更新并生成邮件内容:先确认联网功能开启,再用精准指令提取最新信息,复制结果粘贴至邮箱发送,配合书签和模板实现每日2分钟闭环。 你需要定期获取某网站更新内容并自动发邮件通知自己,但手动刷新、复制、粘贴太耗时。kimi的联网搜索+长文本理解能力可以替代人工完成信息抓取、摘要生成和邮件内容组织,整个流程无需编程基础。 确认Kimi当前支持联网功能 打开Kimi官网或App,登录账号...
我的世界如何用指令找末地船
2026-06-04首先,我们进入游戏后,先来到末地,然后输入指令“/locateendcity”;此时会出现提示最近的末地城市方位,我们记住它后面的坐标,然后输入“/tp坐标位置”;我们已经传送到最近的末地城市了,我们在末地城市旁边寻找就可以找到末地船了。 详细答案: 首先,我们进入游戏后,先来到末地,然后输入指令“/locateendcity”。 可以看到,此时会出现提示最近的末地城市方位,我们记住它后面的坐标,...
