还原设计图(Design to Code)#
将设计稿(Figma/Sketch/图片)高保真还原为前端代码,保证布局、间距、字体、颜色与交互一致。
触发场景#
- 用户说「还原设计图」「按设计稿实现」「切图」「设计转代码」
- 提供 Figma/Sketch 链接、设计图截图或标注
- 需要实现某个页面/组件的 UI
执行流程#
1. 解析设计稿#
- 标注:尺寸、间距(padding/margin/gap)、字号与行高、颜色(含透明度)、圆角、阴影、边框
- 层级:组件划分、嵌套关系、可复用模块
- 状态:默认 / hover / focus / disabled / 加载 / 空态 / 错误
- 响应式:断点、不同宽度下的布局变化(栅格、换行、隐藏)
2. 设计 token 对齐#
- 颜色、字号、间距尽量映射到项目已有 CSS 变量或 Tailwind 配置
- 若无现成 token,在实现时用变量命名(如
--color-primary),便于后续统一
3. 实现优先级#
- 布局:Flex/Grid 先搭骨架,保证对齐与间距
- 字体排版:字体、字号、字重、行高、颜色
- 视觉:背景、边框、圆角、阴影
- 交互状态:hover/focus/disabled 等
- 响应式:断点与弹性布局
- 动效:若有设计说明的过渡/动画再补
4. 还原度自检#
- 关键尺寸与设计稿一致(可容忍 1–2px 差异)
- 字体与颜色与设计一致
- 主要断点下布局合理、无错位
- 可交互元素有明确状态反馈
输出约定#
- 使用项目现有技术栈(如 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-*)