F

figma轉高保真html

開發程式設計v1.0.0
作者:user_24c316b5更新於 2026-10-01figma-to-html@user_24c316b5/figma-to-html
前端開發

據 AlphaMoat 統計,截至 2026-09,figma轉高保真html 累計下載 2,758 次、獲 7 個星標,在全部 5,078 個 AI 技能中排名第 3,908 位,在「開發程式設計」分類(577 個)中排名第 491 位。

累計安裝
124
累計下載
2758
星標
7
全站排名
#3,908
全站前 77% · 「開發程式設計」前 86%
平台累計安裝累計下載星標評論
SkillHub ↗12427587—

各平台的計數口徑不同,統計時間不一致。

這個技能是做什麼的

本指南使用 Figma MCP 工具讀取設計、下載指定圖片資源,並在本地生成響應式 HTML。使用者需提供帶 node ID 的完整 Figma URL 和參考截圖;四個階段各自完成後都要確認再繼續。寫入檔案前應核對 file key、節點、輸出目錄及下載資源。

資料釋出於 2026-10-29

可以用來做什麼

  • 將 Figma 設計資料整理為頁面實現
  • 按指定節點匯出圖片資源
  • 根據參考截圖校準響應式頁面

什麼時候用

  • 使用者提供 Figma 連結與參考截圖,並能在每個流程階段審閱結果時

示例提示詞

以下是根據技能文件生成的示例,不代表實際執行結果。

先把這個 Figma 轉頁面流程拆成階段和每階段的確認點,不要連線 Figma 或生成檔案。
根據設計稿和參考截圖規劃 HTML 還原步驟,並標出需要使用者提供的素材。

月度資料趨勢

累計下載2758
0148529702026-03 · 累計下載 1112026-05 · 累計下載 5112026-06 · 累計下載 7802026-07 · 累計下載 13862026-08 · 累計下載 19602026-09 · 累計下載 275826-0326-09
星標7
0482026-03 · 星標 -2026-05 · 星標 12026-06 · 星標 22026-07 · 星標 32026-08 · 星標 52026-09 · 星標 726-0326-09

2026-09 起統計方法調整:同名技能按作者分別統計,並覆蓋全部技能。圖中虛線為調整前的月份,與之後的資料不直接比較,也不計算跨越調整的增長。

月份累計下載環比星標
2026-092758—7
2026-081960+41.4%5
2026-071386+77.7%3
2026-06780+52.6%2
2026-05511—1
2026-03111—-

SKILL.md 原文

以下是作者釋出的原始檔案,按純文字顯示,本站未做修改或稽核;其中的連結不可點選,命令請核實後再執行。抓取於 2026-10-23。

7.1 KB · SkillHub v1.0.0
---
name: figma-to-html
description: >
  将 Figma 设计稿转换为高保真 HTML 页面。使用 Figma MCP 工具获取设计数据和图片资源,
  结合用户提供的参考截图,生成响应式 HTML 文件。
  触发条件:用户提到「figma 转 html」「figma 还原」「figma to html」「设计稿转页面」
  「还原设计稿」「figma 切图」或提供 Figma 链接并要求生成 HTML 时使用。
---

# Figma to HTML
展開全部(共 170 行)

将 Figma 设计稿转换为高保真响应式 HTML 页面。

## 用户需提供

1. **Figma 地址** — 带 `node-id` 参数的完整 URL(如 `figma.com/design/<fileKey>/...?node-id=428-2244`)
2. **参考截图** — 用户上传的目标页面截图(用于视觉校准)
3. **需要下载的图片 node-id 列表**(可选)— 指定需要导出为本地图片的节点 ID

## 工作流程

按以下 4 个阶段顺序执行,每阶段完成后向用户确认再继续。

### 阶段 1:获取 Figma 数据

1. 从用户提供的 URL 中解析 `fileKey` 和 `nodeId`
   - URL 格式:`figma.com/(file|design)/<fileKey>/...?node-id=<nodeId>`
   - `nodeId` 中的 `-` 替换为 `:`(如 `428-2244` → `428:2244`)
2. 调用 `Figma-AI-Bridge__get_figma_data` 获取设计数据:
   ```
   fileKey: 从 URL 解析
   nodeId: 从 URL 解析(格式 1234:5678)
   ```
3. 将返回的完整 JSON 写入工作目录:
   ```
   <工作目录>/<nodeId>-figma.json
   ```
   - 文件名示例:`428-2244-figma.json`

### 阶段 2:下载图片资源

1. 在工作目录下创建 `images/` 文件夹(如不存在)
2. 从阶段 1 的 JSON 数据中识别需要下载的图片节点:
   - 含 `imageRef` 的填充(用户头像、背景图等)
   - 含 `IMAGE-SVG` 类型的节点(图标、矢量图)
   - 用户额外指定的 node-id
3. 调用 `Figma-AI-Bridge__download_figma_images` 批量下载:
   ```
   fileKey: 同上
   localPath: <工作目录>/images
   nodes: [
     { nodeId: "xxx:xxx", fileName: "<描述性名称>.png", imageRef: "..." },
     { nodeId: "xxx:xxx", fileName: "<描述性名称>.svg" }
   ]
   pngScale: 2
   ```
4. 命名规则:
   - 图标类:`icon-<功能描述>.svg`(如 `icon-bell.svg`、`icon-home.svg`)
   - 图片类:`img-<描述>.png`(如 `img-avatar.png`、`img-banner.png`)
   - 背景类:`bg-<描述>.png`(如 `bg-hero.png`)

### 阶段 3:生成 HTML

1. 读取 `<nodeId>-figma.json` 获取布局、样式、文本内容
2. 参考用户上传的截图确认视觉效果
3. 生成单文件 HTML(内联 CSS),遵循以下原则:

**布局规则:**
- 使用 Flexbox / CSS Grid 还原布局结构
- 从 figma.json 的 `layout` 字段提取:`mode`(row/column)、`gap`、`padding`、`justifyContent`、`alignItems`
- 尺寸使用相对单位(%, vw, rem),固定像素仅用于小元素(图标、间距)

**样式规则:**
- 从 `textStyle` 提取字体、字号、行高、字重
- 从 `fills` 提取颜色(支持纯色、渐变、图片填充)
- 从 `borderRadius`、`strokes`、`strokeWeight`、`effects` 提取圆角、边框、阴影/模糊
- 图片路径指向 `images/` 目录下的本地文件

**内容规则:**
- 从 `text` 字段提取所有文案,保持原文
- 保留 emoji 字符
- 交互元素(输入框、按钮)使用对应 HTML 标签

**语义化:**
- 顶部导航 → `<nav>`
- 侧边栏 → `<aside>`
- 主内容 → `<main>`
- 输入框 → `<input>` / `<textarea>`
- 可点击卡片 → `<button>` 或 `<a>`

4. 如有无法用 HTML/CSS 实现的 UI 元素(如复杂 SVG 动画、特殊滤镜),记录到:
   ```
   <工作目录>/unimplemented-ui.md
   ```
   格式:
   ```markdown
   # 未实现 UI 元素

   | 节点 ID | 名称 | 原因 | 建议替代方案 |
   |---------|------|------|-------------|
   | xxx:xxx | ... | ... | ... |
   ```

### 阶段 4:视觉校准与响应式适配

此阶段以 figma.json 数据为主要参考,用户上传的参考截图为辅助校验。

1. **间距还原(最高优先级)**:
   - 严格从 figma.json 提取所有间距数值:`padding`、`gap`、`margin`(来自 `layout` 和 `spacing` 字段)
   - 元素之间的间距必须与 Figma 设计稿一致,不可自行估算
   - 容器内边距、卡片间距、列表项间距等均以 figma.json 为准
   - 仅在 figma.json 缺失间距数据时,参考截图辅助判断
2. **图片尺寸还原(高优先级)**:
   - 从 figma.json 的节点 `width`、`height` 字段提取图片原始尺寸
   - 图片容器尺寸与 Figma 保持一致(使用 `max-width` + `height: auto` 保持比例)
   - 头像、图标等固定尺寸元素使用 Figma 中的精确像素值
   - 大图/Banner 使用相对单位但保持宽高比与 Figma 一致
3. **字体还原(高优先级)**:
   - 从 figma.json 的 `textStyle` 字段提取 `fontFamily`、`fontWeight`、`fontSize`、`lineHeight`
   - CSS 中的 `font-family`、`font-weight`、`font-size`、`line-height` 必须与 Figma 设计稿严格一致
   - 注意中文字体映射:如 `PingFang SC` 需提供合理的 fallback(`-apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif`)
   - `textAlignHorizontal` / `textAlignVertical` 对应 CSS 的 `text-align` 和垂直对齐方式
   - 不同层级文本(标题、正文、辅助文字)的字号、字重差异必须保留,不可统一化
4. **视觉对比**:将生成的 HTML 与参考截图逐区域对比
   - 整体布局比例
   - 颜色准确性
   - 字体大小和行高
   - 元素对齐方式
4. **美观性调整**:
   - 确保视觉层次清晰(标题 > 正文 > 辅助文字)
   - 颜色对比度满足可读性要求
5. **响应式适配(小屏友好)**:
   - 默认适配主屏幕宽度(参考 Figma 设计稿宽度)
   - 减少固定宽度:大容器、卡片等优先使用 `max-width` + `width: 100%`,避免硬编码 `px` 宽度
   - 添加断点适配小屏(≤768px):
     - 侧边栏折叠或隐藏
     - 多列布局改为单列纵向排列
     - 卡片宽度改为 `100%`
     - 字号适当缩小(`clamp()` 或 `@media` 均可)
     - 输入框、按钮全宽
     - 水平间距适当收缩(可按比例缩小,但不可完全去除)
   - 添加超小屏断点(≤480px)处理极端情况
   - 使用 `@media` 查询实现
   - 图片添加 `max-width: 100%` 防止溢出
6. 输出最终 HTML 文件:
   ```
   <工作目录>/index.html
   ```

## 输出文件清单

```
<工作目录>/
├── <nodeId>-figma.json    # Figma 原始数据
├── index.html             # 最终 HTML 页面
├── unimplemented-ui.md    # 未实现元素记录(如有)
└── images/                # 图片资源
    ├── icon-*.svg
    ├── img-*.png
    └── bg-*.png
```

## 注意事项

- 工作目录默认为当前 workspace 下以项目名命名的文件夹,如用户未指定则用 `figma-output/`
- 单文件 HTML 便于预览和分享,CSS 全部内联在 `<style>` 标签中
- 图片路径使用相对路径 `images/xxx`
- 如果 Figma 数据中有组件实例(INSTANCE 类型),展开其子节点获取实际内容
- 渐变色从 `gradient` 字段直接提取 CSS `linear-gradient` 值

「開發程式設計」分類下的熱門技能

資料月份:2026-09 · 下載/星標/安裝數聚合自公開技能註冊庫(ClawHub、SkillHub),按月更新。口徑說明見資料方法。