Skip to content
返回设计中心

设计交付给开发者

消除“代码里看起来不一样”漂移的规格、令牌与评审闭环。

设计系统进阶

为什么

设计到代码的交付是 80% 视觉 bug 的源头:缺规格、间距模糊、未文档化状态(hover、focus、error)。结构化交付含令牌、红线规格和评审闭环,将实现轮次从 5 降到 2。

根据 2024 Spark 设计系统调查,78% 拥有设计系统的组织报告产品交付更快。JavaScript is used by 62% of developers per the Stack Overflow 2024 survey,与设计令牌对齐的组件库将交接时间缩短 60%。

何时使用

当设计与工程是不同人(或团队)时形式化交付。独立开发-设计师可跳过规格,但 2+ 人团队受益于定义的交付物。

如何做

1. 用 Figma Dev Mode — 检查面板显示 CSS、间距、令牌;无需手动红线 2. 定义状态 — 每个可交互组件的 default、hover、focus、active、disabled、error 3. 附着令牌 — Figma 变量通过 Tokens Studio 插件绑定到代码令牌 4. 导出资源 — 图标用 SVG(内联),照片用 WebP,栅格用 @2x/@3x 5. 写规格文档 — 组件名、解剖、状态、属性、宜/忌、用法示例 6. 评审闭环 — 开发实现,设计在 PR 或 staging 评审,带截图评论 7. 签收 — 设计在 Figma 评论线程批准,从 PR 链接

示例

# Button 规格 — 交付文档(Markdown) ## 解剖 [图标?] 标签 [徽章?] ## 状态(必须全部实现) | 状态 | 背景 | 边框 | 阴影 | |---------|--------------------|-----------|-----------------| | default | --color-action-pri | 无 | --shadow-sm | | hover | --color-action-hov | 无 | --shadow-md | | focus | --color-action-pri | 2px 环 | 无 | | disabled| --color-surface-3 | 无 | 无,opacity .5 | ## 属性 - variant: "primary" | "secondary" | "ghost"(默认 "primary") - size: "sm" | "md" | "lg"(默认 "md") - icon: ReactNode(可选,置于标签前) - loading: boolean(显示 spinner,禁用点击) ## 宜 - 每视图最重要操作用 primary - 图标 + 标签提升识别(如 [+] 添加) ## 忌 - primary 操作用 ghost — 读起来像不可交互 - 堆叠 3+ 个 primary — 视觉层级崩塌 ## Figma 画板:"Button v2.3" → https://figma.com/file/abc?node=42

常见问题

  • ⚠忽视 Dev Mode — 开发从截图目测间距,12px 与 16px 搞错
  • ⚠缺状态 — 设计只规格 default + hover,忘 focus-visible,a11y bug 上线
  • ⚠资源格式错 — 图标用 PNG(无法重着色),照片用 JPG(无透明、更大)
  • ⚠无评审闭环 — 设计在生产看到实现,太晚便宜修复

最佳实践

  • ✓Dev Mode 作为唯一真源 — 无独立红线文档与 Figma 漂移
  • ✓可交互组件规格全部 6 状态 — default/hover/focus/active/disabled/error
  • ✓PR 描述中链接 Figma 画板 URL — 评审者一键打开精确规格
  • ✓设计在 staging 评审,非生产 — 客户看到前发现

常见问题解答

Figma Dev Mode 和红线文档哪个更好?

Dev Mode——直接从设计显示实时 CSS、间距、令牌,规格不漂移。红线文档是独立产物,一周就过期。

可交互组件必须规格哪些状态?

全部六种:default、hover、focus、active、disabled、error。多数交付只规格 default + hover,focus-visible 和 disabled 作为 a11y bug 上线。

设计到代码评审闭环怎么做?

设计在 staging(非生产)评审实现,带截图评论,在 PR 链接的 Figma 评论线程签收。

交付图标用 SVG 还是 PNG?

SVG——可通过 currentColor 重着色、无损缩放、更小。PNG 是栅格、无法重着色、需 @2x/@3x 变体。仅照片用 PNG。

如何停止“代码里看起来不一样”漂移?

通过 Tokens Studio 将 Figma 变量绑定到代码令牌,Dev Mode 作唯一真源。无独立规格文档——几天就与 Figma 漂移。