将设计稿(Figma/Sketch/图片)高保真还原为前端代码,保证布局、间距、字体、颜色与交互一致。
| 用户给的 | 第一步 |
|---------|-------|
| Figma 链接 | 问:有没有 Figma 访问权限?如果没有,让用户截图或导出标注 |
| 设计图截图 | 直接分析,提取尺寸/颜色/字体/间距,列出关键标注 |
| 只有描述,没有设计图 | 问:「有没有设计稿?如果没有,我可以按常见 UI 规范实现,但可能和你预期有出入」 |
| 有设计图 + 现有代码 | 先读现有代码,了解技术栈和已有组件,再还原设计 |
读设计图时,按这个顺序提取(不要跳过):
布局结构
间距与尺寸(精确到 px)
字体
颜色
交互状态(设计稿里有没有标注)
按这个顺序写代码,不要一上来就写细节:
设计稿里的颜色/字号在项目 token 里没有
→ 先问用户:「这个颜色 #3B82F6 是不是对应 blue-500?」不要直接写魔法值
→ 如果确认没有对应 token,用 CSS 变量命名(--color-brand-primary),便于后续统一
设计稿标注不清晰,看不出具体数值
→ 说明哪里看不清,给出合理推测值,让用户确认:「这里间距看起来是 16px,对吗?」
设计稿有动效但没有说明
→ 不要自己发明动效,问用户:「这里有过渡动画吗?如果有,持续时间和缓动函数是什么?」
实现后和设计稿有出入
→ 主动说明差异和原因,不要假装没有:「这里字体用了系统字体代替,因为项目没有引入 Inter」
,链接用 ,不用 代替)
- [ ] 图片有
alt 属性
输出约定
- 使用项目现有技术栈(如 Next.js、Tailwind、SCSS、组件库)
- 组件化:可复用部分拆成组件并命名清晰
- 语义化 HTML + 合理 ARIA(按钮、链接、表单)
- 必要时注明:某处与设计稿差异及原因(如兼容性、可访问性)
常用对照
| 设计稿 | 实现方式 |
|--------|----------|
| 8px 栅格 | 间距用 8 的倍数(8/16/24/32) |
| 字体层级 | 对应 heading/body/caption 等语义类或 design token |
| 模糊/毛玻璃 | backdrop-filter + 半透明背景 |
| 多行截断 | line-clamp 或 -webkit-line-clamp |
| 安全区域 | padding 配合 env(safe-area-inset-*) |
共 2 个版本