先看看示例
作者提供的示例,实际效果取决于你的输入和使用工具。
输入
菜单位于按钮下方;现在从中心 scale(0) 弹出,文字变形;想缩短过渡并支持减少动态效果。
输出
编辑示例 · 未运行
.menu {
transform-origin: top right;
opacity: 0; transform: scale(.96) translateY(-4px);
transition: opacity 150ms ease-out, transform 150ms ease-out;
}
.menu[data-open="true"] { opacity: 1; transform: scale(1) translateY(0); }
@media (prefers-reduced-motion: reduce) { .menu { transition: none; } }交互补充:关闭状态应从焦点顺序中移除;打开后按菜单模式管理焦点。
方法说明
以下为站内中文使用说明,不是上游 SKILL.md 原文。固定版本原文:https://github.com/emilkowalski/skills/blob/d16ebe60d09a5ba2afcb7054ede9d0a10c9f6128/skills/emil-design-eng/SKILL.md
围绕按钮、弹层、表单等具体组件调整状态、运动与可访问性,让反馈更清楚、操作更连续。
具体任务
让菜单从触发按钮附近展开:围绕按钮、弹层、表单等具体组件调整状态、运动与可访问性,让反馈更清楚、操作更连续。
打磨连续交互反馈:检查按钮按压、工具提示切换、加载状态与动画中断,减少重复等待。
必需材料
现有组件与交互问题
目标设备和使用频率
可选材料
录屏
设计变量和减少动态效果要求
使用门槛
能在浏览器中反复触发悬停、打开、关闭和连续操作。
这个 Skill 额外提供的方法
关注操作中的细节:反馈是否及时、动画能否反向、浮层是否从合理位置出现。
编辑示例(未运行)
让菜单从触发按钮附近展开
任务:请根据下面的示例材料完成让菜单从触发按钮附近展开,把判断依据和待确认事项写清楚。
输入:
菜单位于按钮下方;现在从中心 scale(0) 弹出,文字变形;想缩短过渡并支持减少动态效果。
结果片段:
```css
.menu {
transform-origin: top right;
opacity: 0; transform: scale(.96) translateY(-4px);
transition: opacity 150ms ease-out, transform 150ms ease-out;
}
.menu[data-open="true"] { opacity: 1; transform: scale(1) translateY(0); }
@media (prefers-reduced-motion: reduce) { .menu { transition: none; } }
```
交互补充:关闭状态应从焦点顺序中移除;打开后按菜单模式管理焦点。
关注操作中的细节:反馈是否及时、动画能否反向、浮层是否从合理位置出现。 该片段是编辑示例,用于说明交付形态,未运行上游技能。
首次任务
请使用「打磨组件交互和动态反馈」完成「让菜单从触发按钮附近展开」。
任务要求:关注操作中的细节:反馈是否及时、动画能否反向、浮层是否从合理位置出现。
我的必需材料:
- 现有组件与交互问题:[请填写或粘贴]
- 目标设备和使用频率:[请填写或粘贴]
请基于上述实际材料输出:组件实现调整、动效参数及关键状态验证说明。缺少依据的地方单列为待确认,不编造事实;未执行的操作或测试明确标为未执行。
验收要求:
1. 快速开关不会跳到错误终态。
2. 动效起点与控件位置一致。
3. 关闭时不可误点击或被键盘聚焦。
验收方法
快速开关不会跳到错误终态
动效起点与控件位置一致
关闭时不可误点击或被键盘聚焦
依赖与准备
需要现有前端项目和浏览器;可优先用 CSS 或项目已安装动画库,无需为了微交互引入新体系。
使用边界
装饰动效不应延迟主要任务或隐藏状态反馈。
代码参数只是起点,需在实际内容与设备上检查。
排错
动画像慢半拍:先检查触发与渲染时机,再调整持续时间和缓动。
反复操作出现残影:使用可中断的状态过渡,并清理旧实例或定时器。
固定来源
https://github.com/emilkowalski/skills/blob/d16ebe60d09a5ba2afcb7054ede9d0a10c9f6128/skills/emil-design-eng/SKILL.md