关于 navigation-menus
navigation-menus 是面向前端设计与开发的导航动画实践指南,将迪士尼 12 项动画原则用于菜单交互,并提供时序、状态和 CSS 属性建议。
主要功能
- 01将 12 项动画原则用于导航
- 02定义菜单开合与选中状态
- 03提供动画时长和错开间隔
- 04列出 CSS 动画属性建议
适用场景
- 01设计下拉菜单的开合动效
- 02规划移动端侧边导航动画
- 03调整菜单项进入和指示器滑动效果
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ dylantarre/ animation-principles --skill navigation-menus安装后在 Claude Code 中输入/navigation-menus确认已加载。
详细介绍
导航与菜单动画原则
将 Disney 的 12 条原则应用于导航,打造流畅、直观的寻路体验。
应用于导航的原则
1. 挤压与拉伸
点击时,菜单项可以稍微压缩。移动端汉堡菜单图标的线条在变为 X 的过程中应当挤压。
2. 预备动作
下拉菜单打开前,触发项可以稍微上移或高亮。侧边栏切换图标可在面板滑出前轻微旋转。
3. 演出布局
应当清楚区分当前激活的导航项。下拉菜单应通过 z-index 和阴影显示在其他内容上方。焦点层级很重要。
4. 连贯动作与关键姿势
定义清晰的状态:关闭、打开中、打开、关闭中。每个菜单项都有默认、悬停、激活和选中姿势。
5. 跟随动作与重叠动作
下拉菜单项依次进入(每项延迟 20-30ms)。文本稳定后,子菜单箭头再旋转。激活指示器滑动时带有轻微的过冲。
6. 缓入与缓出
菜单打开:ease-out。菜单关闭:ease-in。悬停过渡:ease-in-out。Material 风格可使用 cubic-bezier(0.4, 0, 0.2, 1)。
7. 弧线
移动端导航从侧边滑入时应带有轻微弧度。菜单指示器在菜单项之间滑动时,可以沿着细微的曲线路径移动。
8. 次要动作
下拉菜单展开时(主要动作),阴影逐渐增强(次要动作),父级菜单项保持高亮(第三动作)。箭头符号旋转。
9. 时间安排
- 下拉菜单打开:200-250ms
- 下拉菜单关闭:150-200ms
- 悬停高亮:100-150ms
- 激活指示器滑动:200-300ms
- 每项的错开延迟:20-40ms
- 汉堡菜单变形:300ms
10. 夸张
激活指示器可以过冲后弹回。重要的导航项可以短暂脉动以吸引注意。大型菜单应采用醒目的入场动画。
11. 扎实绘制
动画过程中保持间距一致。阴影应保持一致。图标在动画的每一帧都应保持清晰。
12. 吸引力
流畅的导航能让人感觉专业。灵敏的响应能建立信心。导航会被频繁使用,因此值得投入精力打磨这些微交互。
CSS 实现
.nav-dropdown {
transform-origin: top;
transition: transform 200ms ease-out,
opacity 200ms ease-out;
}
.nav-dropdown.open {
transform: scaleY(1);
opacity: 1;
}
.nav-indicator {
transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
关键属性
transform:translateX/Y、scaleY、rotateopacity:淡入淡出菜单height/max-height:手风琴菜单clip-path:揭示效果transform-origin:下拉方向
评论
支持 Markdown