其他
按钮/CTA 交互动画:需要让点击…
为按钮、CTA 和可点击操作元素添加有满足感、响应迅速的动效时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
按钮/CTA 交互动画:需要让点击、悬停通用
解决思路
- Squash & Stretch:按下时轻微缩放按钮,在 :active 使用 transform: scale(0.95),松开后回到 scale(1),制造触觉反馈。
- Anticipation:点击前用悬停轻微上浮,transform: translateY(-2px),为动作做预热。
- Staging:主 CTA 要在视觉上突出,利用尺寸、颜色对比和留白;主按钮动画比次按钮更大胆。
- Straight Ahead & Pose to Pose:按钮状态使用 pose-to-pose,为 default、hover、active、disabled 状态定义清晰关键帧。
- Follow Through & Overlapping Action:点击后让阴影或光晕在按钮回弹后稍微延迟落定;内部图标可比按钮移动滞后 20-50ms。
- Ease In & Ease Out:不要使用 linear 计时;hover-in 用 ease-out(快速开始),hover-out 用 ease-in(柔和退出);cubic-bezier(0.4, 0, 0.2, 1) 效果不错。
- Arcs:浮动操作按钮 repositioning 时沿弧线移动;使用带缓动的 transform,而不是直线移动。
- Secondary Action:用波纹效果、图标旋转或阴影变化伴随主缩放/颜色变化;不要让次要动作压过主动作。
- Timing:Hover 150-200ms;Active/press 50-100ms(干脆);Focus ring 150ms;Loading state transition 200-300ms。
- Exaggeration:成功按钮可以先短暂缩放到 1.05 再稳定;错误状态可加入轻微抖动(3-5px,2-3 cycles)。
- Solid Drawing:各状态保持一致的 border-radius 和比例;阴影始终遵循统一光源方向。
- Appeal:圆角让人感觉友好,尖角更专业;按钮个性要匹配品牌;令人满意的点击反馈可提高转化率。
- CSS Implementation:使用以下实现: ```css .btn { transition: transform 150ms ease-out, box-shadow 150ms ease-out, background-color 150ms ease-out; } .btn:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.15); } .btn:active { transform: scale(0.97) translateY(0); transition-duration: 50ms; } ```
- Key Properties:使用 transform: scale、translate;box-shadow 表达深度变化;background-color 表示状态;opacity 表示 disabled;filter: brightness 用于 hover。
适用边界 · 注意事项
- 用户启用 prefers-reduced-motion 或需要无动画/极低动效时,不要套用这些动画。
- 不要使用 linear 计时或让动画时长过长,否则按钮会显得迟钝。
- 不要让次要按钮或次要动作比主 CTA 更夸张,破坏视觉层级。