界面动效设计_emilkowalski-motion
以下为本文档的中文说明emilkowalski-motion 是一款以著名动画设计师 Emil Kowalski 设计理念为灵感的界面动效技能。它的核心理念是“节制的动效设计”——在界面已经存在的基础上添加品味的微交互Micro-Interactions、状态过渡State Transitions和页面运动效果使界面变得生动而不会喧宾夺主。这不是一个创建新界面的技能而是在已有设计上精雕细琢动效细节。功能用途上该技能指导用户如何在现有界面中挑选最小的动效时机来增强可用性主要内容进入时的揭示动画、重要控件的悬停和点击反馈、UI 状态切换时的平滑过渡、能辅助叙事逻辑的滚动揭示效果。它强调使用 transform 和 opacity 属性来实现动画避免动画面板布局属性如 top、left、width、height以保持性能。使用场景包括产品级 Web 应用需要提升交互质感时设计师交付静态稿后需要添加动效细节个人项目希望获得专业级动效但缺乏专业知识在已有组件库基础上统一动效语言。核心特点第一产品级克制Product-Grade Restraint不追求炫技而是服务于用户体验第二单一动效语言One Motion Language同一界面保持一致的缓动函数、持续时间和物理效果第三无障碍优先自动添加 prefers-reduced-motion 回退方案尊重用户减少动效的偏好第四性能导向优先使用 GPU 加速的 transform 和 opacity 属性第五基于 Emil Kowalski 的专业动效方法论经过大量产品验证。Emil Kowalski Motion Follow-UpUse this skill after a design artifact already exists. The goal is to make the interface feel alive without turning it into a motion demo.WorkflowInspect the current HTML, component, or selected page element before adding animation.Pick the smallest set of motion moments that clarify state or hierarchy:entry reveal for the primary contenthover / active feedback for important controlstransition between UI statesscroll reveal only when it helps the storyPrefertransformandopacity. Avoid animating layout properties such astop,left,width, orheight.Use one motion language across the artifact. Do not mix unrelated easings, durations, or physics.Addprefers-reduced-motionfallbacks for any automatic or scroll-linked motion.Keep copy, data, and layout intent intact unless the user explicitly asks for a redesign.Motion RulesDefault UI transitions should feel quick and useful: 140-220ms for most controls.Larger page reveals can be slower, but must not block reading.Avoid endless decorative loops unless they communicate status or progress.Do not add custom cursors, noisy particle effects, or motion that competes with content.Stagger only small groups. Long staggered lists make interfaces feel slow.Implementation NotesFor plain HTML, CSS keyframes and small JavaScript observers are enough.For React or framework code, use the local stack already present in the repo.If GSAP is available and the motion needs sequencing, pair this withgsap-core,gsap-timeline, orgsap-scrolltrigger.Always clean up observers, timers, and animation instances.