Skip to content

05 · Figma 与截图转代码 ​

速览 ​

产出可交付的前端代码
用时30 分钟到几小时,看复杂度
输入Figma 导出、截图,或者一个网页
难点说清楚你要哪一层——像素还是结构

先想清楚你要什么 ​

「把这个设计稿变成代码」有三种完全不同的意思:

你要的说法交付形态
一个能看的还原「像素级还原这张图」一个静态 HTML,用来验证视觉
一个能接着开发的骨架「按这个结构生成组件,用我们的 token」组件代码,能接进现有项目
一个能用的原型「做成能点的原型,状态要全」带交互的原型

不说清楚,你大概率拿到第一种,然后发现没法用。

提示词 ​

要像素级还原 ​

text
这是一张界面截图。请做一个尽可能接近的 HTML 还原。

要求:
1. 布局、间距、字号尽量对齐原图。
2. 颜色用取色得到的实际值。
3. 图片用占位块,标注原图里那个位置是什么内容。
4. 单文件,不引入框架。

不确定的地方标出来,不要凭感觉填。

要能接着开发的组件 ​

text
这是我们的 Figma 导出 / 界面截图。

请生成可以接进现有项目的组件代码。

技术栈:[React / Vue / 原生,说清楚]
样式方案:[Tailwind / CSS Modules / styled-components]
设计 token:[粘贴你们的 token,或者指向 design-systems/your-brand/DESIGN.md]

要求:
1. 用 token,不要写死颜色和间距的字面值。
2. 按结构拆成合理的组件,每个组件职责单一。
3. props 的命名跟我们现有的约定一致:[举两个例子]
4. 状态要全:空、加载、错误、禁用。
5. 可访问性:语义化标签、键盘可达、必要的 aria。
6. 不要引入新依赖,如果确实需要先问我。

先做组件结构和一个组件的完整实现,我确认之后再做其余的。

最后那句很重要。一次生成十个组件,你要通读十个才能发现约定不对。先看一个,成本低得多。

从一个网页开始 ​

text
把 [URL] 这个页面的结构和视觉抽出来,重建成 [你的技术栈] 的实现。

只要结构和视觉,不要复制他们的文案。
文案位置用占位符,标注每一处该放什么类型的内容。

为什么这么写 ​

「用 token,不要写死字面值」是能不能接进项目的分水岭。 生成的代码里如果全是 #3B82F6 和 padding: 14px,那它就是一次性的,改主题的时候要全部重来。

「props 命名跟现有约定一致,举两个例子」 比「遵循我们的代码规范」有用一百倍。给两个真实的例子,它能推断出规律。

「不要引入新依赖,需要的话先问」 防止它顺手装一个日期库、一个图标库、一个动画库。

验收清单 ​

  • [ ] 没有写死的颜色和间距字面值
  • [ ] 组件拆分合理,不是一个巨型组件
  • [ ] props 命名符合现有约定
  • [ ] 状态覆盖完整
  • [ ] 语义化标签用对了(不是一堆 div)
  • [ ] 键盘能操作
  • [ ] 没有偷偷引入新依赖
  • [ ] 在项目里真的能跑起来

最后一条要真的试,别只看代码。

变体 ​

只要视觉规范,不要代码

text
不用生成代码。从这张图里抽出实现规范:
- 每个元素的尺寸、间距、颜色、字号
- 层级结构
- 响应式断点下应该怎么变

输出成一份工程能直接照着写的文档。

有些团队的前端更愿意自己写,给他们规范比给他们代码更受欢迎。

批量转一组页面

text
这是同一个产品的 5 张界面截图。

第一步:先分析这 5 张图里重复出现的组件,列出组件清单和每个组件
的变体。不要开始写代码。

第二步(我确认清单之后):实现这些基础组件。

第三步:用这些组件拼出 5 个页面。

分三步做,得到的是一套组件而不是五份互不相干的代码。

常见问题 ​

还原度不够。

先确认你要的是哪一层。如果确实要像素级,把原图和结果并排,指出具体哪里不对(「卡片间距应该是 24 不是 16」),比说「不够像」有效。

生成的代码风格跟项目不一样。

给它看一个现有的组件文件当参照:「按这个文件的风格写,包括命名、注释密度、导出方式」。

Figma 导出里信息太多,它抓不住重点。

明确说要哪一层:「只看 Frame 层级和 Auto Layout 结构,忽略具体的图层命名」。

做出来能跑但性能差。

生成代码默认不考虑性能。有要求就直接说:「列表要虚拟滚动,图片要懒加载,避免不必要的重渲染」。

相关 ​

非官方社区教程 · 内容整理自 open-design.ai 公开资料与实测记录 · 以官方最新说明为准