跳到主要内容
哒哒星球DADA PLANET

Skill · 已公开版本

emil-design-eng · 打磨组件交互和动态反馈

围绕按钮、弹层、表单等具体组件调整状态、运动与可访问性,让反馈更清楚、操作更连续。

先看看示例

作者提供的示例,实际效果取决于你的输入和使用工具。

输入

菜单位于按钮下方;现在从中心 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