SuperAPI AI 工具集

animate

设计与创作

查看项目

更新于 10-15 17:27

技能介绍

用途:将“加个动画”的请求转化为能通过严格评审的实现。它不做代码库审计(属于 improve-animations)、不评审 diff(属于 review-animations)、不寻找可动画位置(属于 find-animation-opportunities)、也不面向 React Native(属于 animate-expo)。

主要能力与决策序列:必须按顺序执行。第 1 步判断是否该动画——每天 100 次以上(键盘快捷键、命令面板切换)永不加动画;每天数十次只做几乎不可感知的效果;偶发(弹窗、抽屉、通知)用标准动画;罕见/首次(引导、成功、庆祝)才可追求愉悦感。键盘触发的操作直接排除。第 2 步命名目的:反馈、空间一致性、状态指示、避免突兀变化、解释(仅营销/引导)、愉悦感(仅罕见层级);无法命名则不构建。第 3 步选最省工具:CSS transition(悬停、按压、颜色、状态切换)、CSS @starting-style(挂载入场)、CSS animation(预定动作,主线程外运行)、WAAPI(需编程控制但保留 CSS 性能)、Motion(弹簧、布局动画、退出动画、手势驱动)。若需要的是组件(通知、抽屉、命令菜单、下拉),则应调用 pick-ui-library 而非手写。第 4 步只选 transform 与 opacity;避免 scale(0),用 scale(0.9–0.97)+opacity:0;弹出层 transform-origin 设在触发器,模态例外居中;translate 百分比相对自身尺寸。第 5 步缓动与时长:入场/出场用 ease-out,屏幕上移动/变形用 ease-in-out,悬停/颜色用 ease,持续运动用 linear;UI 中禁用 ease-in。推荐强缓动曲线如 --ease-out: cubic-bezier(0.23, 1, 0.32, 1);时长按钮 100–160ms、工具提示 125–200ms、下拉 150–250ms、模态/抽屉 200–500ms,UI 动画保持 300ms 以内;拖拽动量、可中断手势、鼠标跟随等改用弹簧。第 6 步处理中断与退出:快速触发元素(通知、开关)用过渡而非关键帧;手势用弹簧以延续速度;退出路径与入场对称。第 7 步必须随动画一起提供 reduced motion 与指针门控:@media (prefers-reduced-motion: reduce) 保留透明度/颜色、去掉位移;@media (hover: hover) and (pointer: fine) 防止触摸误触发悬停。

限制:不编造曲线、时长或弹簧参数;已有 --ease-out 或时长刻度应复用而非另建系统;不为淡入安装动画库;结尾需写出代码并简要说明门槛结果、配方与需实际感受验证之处;资料未提供具体命令、平台或收费信息。