关于 accordions-dropdowns
这项设计技能将迪士尼 12 条动画原则用于手风琴和下拉交互,涵盖状态、节奏、视觉反馈与 CSS 技法,适合界面设计和开发工作。
主要功能
- 01将 12 条动画原则用于展开与收起
- 02定义动效状态和过渡时长
- 03协调内容、箭头与相邻项动画
- 04提供高度和透明度的 CSS 属性建议
适用场景
- 01设计带动画的 FAQ 手风琴
- 02为下拉交互添加反馈
- 03减少内容展开时的视觉抖动
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ dylantarre/ animation-principles --skill accordions-dropdowns安装后在 Claude Code 中输入/accordions-dropdowns确认已加载。
详细介绍
Accordion 和 Dropdown 动画原则
将迪士尼的 12 条原则应用于展开/折叠元素,实现流畅且信息明确的展现效果。
应用于 Accordion 的原则
1. 挤压与拉伸
内容折叠时可以略微压缩,展开时可以拉伸。点击时,触发区域的标题可以挤压一下以提供反馈。
2. 预备动作
展开前,标题短暂下压。内容显示前,Chevron 开始旋转。营造期待感。
3. 演出布局
展开的区域应清晰可见。可以考虑调暗 Accordion 中的其他项目。活动标题保持高亮。
4. 连续动作与关键帧动作
定义清晰的状态:已折叠、展开中、已展开、折叠中。通过关键帧动作实现可控且可逆的动画。
5. 跟随与重叠动作
容器先展开,内容在 50-100ms 后淡入。Chevron 旋转时可以略微过冲,然后稳定下来,营造层次感。
6. 缓入与缓出
展开:使用 ease-out(快速开始,平滑结束)。折叠:使用 ease-in(缓慢开始,快速结束)。cubic-bezier(0.4, 0, 0.2, 1) 效果不错。
7. 弧线
Chevron 旋转时应沿弧线平滑过渡。内容项进入时可以略微沿弧线路径移动,而不是直线向下。
8. 次要动作
内容显示时(主要动作),Chevron 旋转(次要动作),同级 Accordion 可能会折叠(第三动作)。
9. 时间安排
- 展开/折叠:250-350ms
- Chevron 旋转:200-250ms
- 内容淡入:150-200ms
- 内部项目依次延迟:30-50ms
- 点击反馈:50ms
10. 夸张
重要内容的展现可以采用更明显的时间变化。FAQ Accordion 可以采用更利落的动画。根据内容的重要性调整。
11. 扎实绘制
保持标题高度一致。高度动画期间,内容不应抖动。使用恰当的高度处理技巧。
12. 吸引力
流畅的 Accordion 显得精致。卡顿的高度动画让人感觉功能损坏。为实现恰当的展开/折叠效果,投入必要的技术成本是值得的。
CSS 实现
.accordion-content {
display: grid;
grid-template-rows: 0fr;
transition: grid-template-rows 300ms ease-out;
}
.accordion-content.open {
grid-template-rows: 1fr;
}
.accordion-inner {
overflow: hidden;
}
.accordion-chevron {
transition: transform 250ms ease-out;
}
.accordion-header[aria-expanded="true"] .accordion-chevron {
transform: rotate(180deg);
}
/* Alternative: animate max-height */
.dropdown-content {
max-height: 0;
overflow: hidden;
transition: max-height 300ms ease-out;
}
.dropdown-content.open {
max-height: 500px; /* larger than content */
}
关键属性
grid-template-rows:平滑控制高度max-height:更简单,但不够精确transform:旋转 Chevronopacity:内容淡入overflow:过渡期间隐藏溢出内容
评论
支持 Markdown