关于 cards-containers
将迪士尼 12 条动画原则用于界面卡片和容器的技能,涵盖交互状态、分层运动、节奏以及用于营造立体过渡的 CSS 属性。
主要功能
- 01定义静止、悬停、选中和展开状态
- 02在过渡中使用预备动作与缓动
- 03让内容运动稍晚于卡片
- 04以弧线路径制作重排动画
- 05用阴影和层级表现深度
适用场景
- 01设计卡片悬停和选中动画
- 02制作卡片展开至详情视图的动画
- 03创建拖放重排过渡
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ dylantarre/ animation-principles --skill cards-containers安装后在 Claude Code 中输入/cards-containers确认已加载。
详细介绍
卡片与容器动画原则
将 Disney 的 12 条原则应用于卡片和容器,打造引人入胜且富有层次感的界面。
应用于卡片的原则
1. 挤压与拉伸
卡片可在开始拖动时轻微压缩,并在释放时拉伸。幅度应尽量小:缩放变化最多为 2-3%。
2. 预备动作
将卡片展开为详情视图前,先短暂缩小至 0.98,持续 50ms,然后再展开。让用户为这一变换做好准备。
3. 舞台布局
通过 z-index 和阴影,将正在交互的卡片提升到其他卡片上方。将背景卡片调暗或模糊,以突出焦点。
4. 连贯动作与关键姿势
定义清晰的状态:静止、悬停、选中、展开。通过关键姿势之间的过渡实现姿势到姿势的动画。
5. 跟随动作与重叠动作
卡片内容(文本、图片、图标)应略微滞后于卡片移动。错开 20-40ms,让动作感觉更自然。
6. 缓入与缓出
卡片抬升使用 ease-out,卡片落回使用 ease-in-out。绝不使用线性过渡。使用 cubic-bezier(0.25, 0.1, 0.25, 1) 实现平滑抬升。
7. 弧线运动
卡片重新排序(拖放)时,应沿曲线路径而非直线移动。移动时添加轻微旋转。
8. 次要动作
卡片抬升(主要动作)时,阴影随之扩展并模糊(次要动作)。内部图片可轻微缩放。边框可发光。
9. 时间
- 悬停抬升:200-250ms
- 选中:150ms
- 展开为详情:300-400ms
- 重新排序/洗牌:250-350ms
- 卡片间的错开时间:50-75ms
10. 夸张
悬停阴影可扩展至正常深度的 2-3 倍。选中的卡片可抬升 8-12px。效果应与卡片尺寸成比例。
11. 扎实绘制
缩放时保持一致的圆角比例。阴影应始终来自同一光源。保持纵横比。
12. 魅力
圆角让人感觉亲切,微妙的阴影增添高级感。平滑的过渡能建立信任。卡片应给人真实物体的感觉。
CSS 实现
.card {
transition: transform 250ms ease-out,
box-shadow 250ms ease-out;
}
.card:hover {
transform: translateY(-8px) scale(1.02);
box-shadow: 0 12px 40px rgba(0,0,0,0.15);
}
.card-content {
transition: transform 280ms ease-out; /* slight lag */
}
关键属性
transform:translateY、scale、rotatebox-shadow:深度与抬升z-index:图层顺序filter:背景模糊opacity:焦点状态
评论
支持 Markdown