HTML 的 AI 精准生成

描述结构而非样式,说明语义而非外观

让 AI 听懂你想要什么网页,而不是你想要什么颜色

为什么说不准

你让 AI "做一个好看的登录页面",结果总是不对味

模糊描述

"做一个好看的登录页面,要有用户名和密码框"

AI 猜不出你要几个输入框、要不要记住我、提交到哪里。结果每次都不一样。

精准描述

"创建一个登录表单:页头含 Logo,主内容区一个表单提交到 /login,包含用户名输入框、密码输入框、记住我复选框、登录按钮,页脚版权信息。"

结构清晰、语义明确——AI 一次就能生成你想要的结果。

核心原则:HTML 是内容的骨架,不是皮肤。告诉 AI "这是什么",而不是"看起来像什么"。

Part 1: 结构描述

给 AI 一张清晰的"建筑蓝图",而不是一张手绘草图。

按区块描述

从 header → main → footer,逐层递进,让 AI 清楚每个区域放什么。

用缩进表达嵌套

缩进 = 标签嵌套,AI 一眼就能理解父子关系。

按区块描述

从 header → main → footer,逐层递进

错误示范

"做一个好看的登录页面,
要有用户名和密码框"

AI 只知道要有输入框,其他全靠猜。

正确示范

"创建一个登录表单页面,包含:
1. 页头:Logo + 标题'用户登录'
2. 主内容区:
   - 表单提交到 /login
   - 用户名输入框 (name='username')
   - 密码输入框 (name='password')
   - 记住我复选框
   - 登录按钮 (submit)
3. 页脚:版权信息"
三个关键技巧:① 按区块描述(header/main/footer) ② 用缩进表示嵌套 ③ 指定语义标签(<form>、<label>)。

Part 2: 语义化描述

告诉 AI 每个元素的"角色",而不是它的"长相"。

语义标签选择

"三个产品特性卡片,每个用 article 包裹" — 指定标签比说"放三个方块"精准得多。

语义对照表

"这是导航" → nav、"独立文章" → article — 建立意图与标签的映射关系。

语义标签选择

当你想说"放三个小方块"时,其实是在说"放三个产品特性卡片"

错误描述

"放三个小方块,里面写产品特点"

AI 不知道用什么标签,可能全部用 <div>。

正确描述

"三个产品特性卡片,每个用 <article> 包裹,含 <h2> 标题和 <p> 描述"

你想表达的意思应该用的标签AI 能理解的描述
"这是主要内容"<main>"页面的主要内容区域,只有一个"
"这是独立文章"<article>"可以单独分发的内容单元"
"这是相关推荐"<aside>"附属内容,与主要内容相关但可独立存在"
"这是导航菜单"<nav>"主要导航区域,包含网站主要链接"
"这是内容区块"<section>"一个有标题的内容区块"

Part 3: 内容具体化

AI 不会创造有意义的内容——你需要提供具体文字,或者明确告诉它用占位符。

提供真实内容

不要说"放标题",要说"标题是'旗舰智能手表'" — 具体文本让 AI 一次到位。

内容四原则

提供实际文本、说明图片 alt、给出列表项、说明表单字段类型。

提供真实内容

不要说"放一些产品信息",要说"标题是'旗舰智能手表'"

模糊描述

"放一些产品信息"

专业描述

"添加产品介绍部分:
+ 标题:'旗舰智能手表'
+ 特性列表(无序列表):
  - 24小时心率监测
  - 睡眠质量分析
  - 50米防水
  - 14天续航
+ 图片 alt='智能手表正面图'"
内容描述四原则:① 提供实际文本,别说"放标题" ② 说明图片 alt 文本 ③ 给出 3-5 个实际列表项 ④ 表单字段说明类型和用途。

Part 4: 链接与交互

说明功能,而非样式。"蓝色的悬停效果"是 CSS 的事,不是 HTML 的事。

导航描述

"创建主导航,包含 4 个链接:首页 → index.html、产品 → products.html" — 指明链接目标和功能。

功能 vs 样式

"这是个导航" ✅ — "蓝色的导航栏" ❌ — 区分 HTML 职责和 CSS 职责。

导航描述示例

错误描述

"做个导航栏,蓝色的,
鼠标悬停变深蓝"

这是在描述样式,不是结构。

正确描述

"创建主导航:
+ 位于页头区域
+ 包含 4 个链接:
  - 首页 → index.html
  - 产品 → products.html
  - 关于 → about.html
  - 联系 → contact.html
+ 用 nav 内含 ul/li/a 实现"
链接描述模板:"创建 [数量] 个 [类型] 链接,[链接到哪里],[打开方式],[特殊功能]"

Part 5: 表格与列表

结构化数据需要精确描述表头、示例行和语义结构。

表格描述要点

明确表头内容、提供 1-2 行示例数据、说明用途(数据展示 vs 布局)。

列表描述技巧

给出 3-5 个实际列表项,指定有序还是无序,说明是否嵌套。

表格描述要点

模糊描述

"做个表格显示用户信息"

专业描述

"创建用户数据表格:
+ 标题:'注册用户列表'
+ 表头行:ID、姓名、邮箱、注册日期
+ 表体含 3 行示例数据
+ 使用 thead/tbody 语义结构"
  • 明确表头内容:不要说"第一列是ID",说"表头包含:ID、姓名、邮箱"
  • 提供示例行:至少描述 1-2 行实际数据
  • 说明用途:是数据展示还是布局?(应避免用表格做布局)

Part 6: 图片与多媒体

图片描述的关键是提供 alt 文本和说明用途,而不是尺寸。

图片描述要素

描述图片内容(不是尺寸)、提供 alt 文本、说明图片用途(装饰?信息?)。

alt 文本规范

"logo图片" 是坏的 alt,"某某公司蓝色三角形Logo" 才是好的 — 描述内容和功能。

图片描述示例

错误描述

"放个大图在顶部,
宽度100%,高度300px"

尺寸是 CSS 的职责,不是 HTML 的。

正确描述

"页面顶部 hero 区域主视觉图:
+ 描述:'团队合作场景'
+ alt:'五人团队在办公室讨论项目'
+ 使用占位图服务
+ 图片后跟随一段介绍文字"
alt 文本不是可选的!必须描述图片的内容和功能。"logo图片"是坏的 alt 文本,"某某公司蓝色三角形Logo"才是好的。

Part 7: 表单描述

表单是最需要精确描述的元素——每个字段的类型、名称、验证规则都要说清楚。

表单描述模板

提交路径 + 方法 + 每个字段的名称、类型、name 值、验证属性。

常见字段类型

text、email、password、radio、checkbox、select — 每种都有特定的用途和属性。

注册表单示例

创建用户注册表单:
+ 提交到 /register,使用 POST 方法
+ 包含以下字段(每个都有 label):
  - 用户名:文本输入,name='username',必填
  - 邮箱:邮箱输入,name='email',必填
  - 密码:密码输入,name='password',至少 8 字符
  - 确认密码:密码输入,name='confirm_password'
  - 性别:单选按钮组(男/女/不愿透露)
  - 兴趣:复选框组(阅读/运动/音乐/旅行)
  - 注册按钮:submit 类型,文本'立即注册'
+ 表单下方有"已有账号?登录"链接
表单描述模板:提交到 [路径],使用 [GET/POST],每个字段说明:名称、类型、name 值、其他属性(required、pattern 等)。

七个常见错误

错误类型错误示例正确做法
混淆 HTML 与 CSS"做个蓝色的标题""这是一个主标题,用 h1 标签"
忽略语义"放三个方块""三个产品特性卡片,每个用 article 标签"
内容模糊"放些产品信息""标题:旗舰手表;特点:心率监测、睡眠分析"
缺少 alt"加个 logo 图片""加个 logo,alt='公司名+描述'"
布局描述"两个并排的栏目""两个相关但独立的内容单元"
过时元素"用表格布局""用语义化结构标签组织内容"
忽略可访问性未提及 label"每个表单字段都有对应 label"

需求描述模板

每次向 AI 提交 HTML 需求前,按这个模板检查

# [页面名称] 页面结构需求

## 整体结构
- 页面类型:[单页/多页/登录页等]
- 主要区块:[header/main/footer]
- 特殊要求:[如无障碍访问]

## 页头 (header)
- [Logo、导航结构描述]

## 主内容区 (main)
### [区块1名称]
- 类型:[section/article]
- 内容:[具体文字、列表项等]

## 页脚 (footer)
- [版权信息、页脚导航]

## 特殊要求
- [可访问性、其他说明]

实战案例

从模糊的"做个企业官网首页"到精准的逐段描述——看完整的转化过程

模糊需求

"做个企业官网首页"

AI 收到这样的需求只能猜,结果大概率不对。

精准描述

# 企业官网首页结构需求
## 整体结构
- 单页式企业官网
- header + 5个区块 + footer

页头与导航

## 页头 (header)
- Logo文字:"TechCorp"
- 主导航 (nav):
  * 首页、产品、服务、关于我们、联系我们

主内容区结构

## 主内容区 (main)
1. 英雄区 (section):
   - h1 "创新科技解决方案"
   - 行动按钮 "了解更多"
2. 产品特色 (section):
   - 3个 article 卡片
3. 服务介绍 (section):无序列表
4. 客户评价 (section)
5. 联系表单 (section)
关键:从一句话到多段结构描述,每个区块的语义标签、内容类型和层级关系都说得清清楚楚。AI 拿到这样的描述,一次就能生成你想要的结构。

提交前检查

在把需求发给 AI 之前,确认以下每一条

结构完整

  • 明确了 header/main/footer 整体结构
  • 每个区块的语义类型已指定(section/article)

内容具体

  • 所有图片都有 alt 文本
  • 表单字段有类型和名称
  • 链接有目标和功能说明

没有样式描述

  • 没有颜色、尺寸、位置描述
  • 没有"好看""漂亮"等主观词
  • 用"这是导航"代替"蓝色的导航栏"

草图驱动思维

在纸上画个框,你就已经在描述 HTML 结构了

纸上的草图

┌─────────────────────┐
│  Logo        导航    │
├──────────┬──────────┤
│ 文章正文  │ 相关链接  │
│          │          │
├──────────┴──────────┤
│  版权 · 联系方式      │
└─────────────────────┘

对应的 HTML

<header>...</header>
<main>
  <article>文章正文</article>
  <aside>相关链接</aside>
</main>
<footer>...</footer>

当你画一个框时,你已经在做:① 区域划分 → 对应 HTML 语义区块 ② 层级关系 → 对应标签嵌套 ③ 内容组织 → 对应文本、列表、表单。

记住:好的 HTML 描述 = 清晰的结构 + 明确的语义 + 具体的内容。而不是颜色、大小、位置等视觉细节。

本章学习完毕

你已经学会了如何用结构化、语义化的方式向 AI 描述 HTML 需求。下一章,我们将动手搭建一个真实的个人网站。

下一章:Project 搭建 Github 主页 →

1 / 22