HTML 使用与编写指南

本文是一份面向实际网页开发的 HTML 实战指南,重点讲清楚文档结构、语义化标签、表单、图片、链接、脚本加载、可访问性、SEO 基础,以及在主题模板里如何组织 HTML 结构。它适合与 JavaScript、CSS、SEO、Nginx 静态资源配置一起使用。

适用场景

  • 编写网页模板
  • 组织内容页、列表页、详情页、表单页
  • 提高页面语义性和可访问性
  • 配合 CSS/JS 组织前端结构
  • 输出 SEO 友好的页面骨架

HTML 是什么

HTML 是网页的结构语言。它描述:

  • 页面有什么内容
  • 内容之间是什么关系
  • 哪些区域是导航、正文、页脚、表单、图片、链接

HTML 不负责复杂交互,也不负责视觉样式。交互通常由 JavaScript 处理,样式由 CSS 处理。

基本文档结构

一个标准 HTML 页面通常如下:

<!doctype html>
<html lang="zh-CN">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>页面标题</title>
</head>
<body>
  <main>
    <h1>主标题</h1>
  </main>
</body>
</html>

关键点

  • <!doctype html> 声明 HTML5 文档
  • <html lang="zh-CN"> 说明语言
  • <meta charset="utf-8"> 统一字符编码
  • viewport 让移动端布局正常

语义化结构

语义化标签的目标是让内容结构更清晰,也让浏览器、搜索引擎和辅助技术更容易理解页面。


常见语义标签:

  • <header>
  • <nav>
  • <main>
  • <article>
  • <section>
  • <aside>
  • <footer>

推荐结构

<body>
  <header>...</header>
  <nav>...</nav>
  <main>
    <article>
      <header>...</header>
      <section>...</section>
    </article>
    <aside>...</aside>
  </main>
  <footer>...</footer>
</body>

使用原则

  • main 一页只放一个
  • article 适合独立可复用内容
  • section 适合主题分区
  • nav 只放主要导航

标题层级

标题层级很重要。


建议:

  • 页面只有一个主 h1
  • 每个内容块按逻辑使用 h2、h3、h4
  • 不要为了样式跳级过度

示例:

<h1>文章标题</h1>
<h2>背景</h2>
<h2>安装步骤</h2>
<h3>更新软件包</h3>

文本与段落

常用元素:

  • <p>:段落
  • <strong>:强调
  • <em>:语气强调
  • <blockquote>:引用
  • <code>:行内代码
  • <pre>:预格式文本
  • <br>:换行,不要滥用

代码块

<pre><code>echo "hello world"</code></pre>

链接

链接用 <a>

<a href="/about">关于我们</a>

建议:

  • 内部链接尽量清晰可读
  • 重要链接文案要描述目标内容
  • 不要全站都写“点击这里”

外部链接

如果是新窗口打开,考虑加上:

target="_blank" rel="noopener noreferrer"

图片

图片是 HTML 页面里最常见的资源之一。

<img src="/static/images/banner.jpg" alt="首页横幅">

关键属性

  • src:图片地址
  • alt:替代文本
  • width / height:建议提供,减少布局抖动

alt 规范

  • 描述图片内容
  • 不要堆关键词
  • 装饰性图片可使用空 alt=""

懒加载

<img src="/static/images/pic.jpg" alt="示意图" loading="lazy">

表单

表单是交互页面的核心。

基本结构

<form method="post" action="/submit">
  <label for="name">姓名</label>
  <input id="name" name="name" type="text" required>
  <button type="submit">提交</button>
</form>

关键点

  • 每个输入最好有 label
  • name 是提交字段名
  • required 可以做基础必填
  • type 要选对

常见 input 类型

  • text
  • email
  • password
  • number
  • tel
  • url
  • date
  • checkbox
  • radio
  • file

文本域

<textarea name="content" rows="6"></textarea>

下拉框

<select name="category">
  <option value="news">新闻</option>
  <option value="docs">文档</option>
</select>

按钮

<button type="button">普通按钮</button>
<button type="submit">提交</button>
<button type="reset">重置</button>

建议:

  • 表单提交按钮用 type="submit"
  • 触发脚本动作的按钮用 type="button"
  • 不要默认把按钮写成提交按钮

列表

无序列表

<ul>
  <li>第一项</li>
  <li>第二项</li>
</ul>

有序列表

<ol>
  <li>步骤一</li>
  <li>步骤二</li>
</ol>

定义列表

<dl>
  <dt>名称</dt>
  <dd>说明</dd>
</dl>

表格

表格适合展示结构化数据,不适合布局。

<table>
  <thead>
    <tr>
      <th>名称</th>
      <th>状态</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Redis</td>
      <td>运行中</td>
    </tr>
  </tbody>
</table>

建议

  • th 用于表头
  • 复杂表格要考虑响应式
  • 不要用表格做整页布局

元信息

title

页面标题是 SEO 和浏览器标签页的重要信息。

meta description

<meta name="description" content="页面摘要说明。">

canonical

<link rel="canonical" href="https://www.example.com/article/abc">

robots

<meta name="robots" content="noindex, nofollow">

Open Graph

<meta property="og:title" content="标题">
<meta property="og:description" content="描述">
<meta property="og:url" content="https://www.example.com/page">
<meta property="og:image" content="https://www.example.com/cover.jpg">

资源加载

CSS

<link rel="stylesheet" href="/static/css/app.css">

JS

<script src="/static/js/app.js" defer></script>

建议:

  • 关键样式尽早加载
  • 脚本优先 defer
  • 非关键脚本尽量延后

可访问性

语言

<html lang="zh-CN">

图像替代文本

必须认真写 alt

表单关联

<label for="email">邮箱</label>
<input id="email" name="email" type="email">

可聚焦元素

交互元素要能被键盘操作。

交互状态

页面里常见的状态包括:

  • loading
  • disabled
  • error
  • success
  • empty

建议把状态通过 HTML 结构提前预留出来,而不是等脚本临时拼接。

主题模板里的 HTML 组织

在你的仓库主题系统里,HTML 结构通常更适合拆成:

  • header
  • nav
  • footer
  • js
  • sidebar
  • article
  • pager

这种拆分方式的好处是:

  • 复用高
  • 结构一致
  • 更容易维护 SEO 和交互

常见错误

1. 结构层乱写

标题层级、语义标签和布局 div 混在一起,会让维护变差。

2. 图像没有 alt

这会影响可访问性和图片理解。

3. 表单没 label

表单体验会差,辅助技术也更难使用。

4. 滥用 innerHTML 生成内容

这容易带来 XSS 风险。

5. 一个页面多个 main

不符合语义,也容易混乱。

最小可用模板

<!doctype html>
<html lang="zh-CN">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>示例页面</title>
  <meta name="description" content="示例页面描述。">
</head>
<body>
  <header>...</header>
  <main>
    <article>
      <h1>页面标题</h1>
      <p>正文内容。</p>
    </article>
  </main>
  <footer>...</footer>
  <script src="/static/js/app.js" defer></script>
</body>
</html>

结论

HTML 的核心不是“标签背下来”,而是:

  • 用正确的结构表达内容关系
  • 让页面对用户、浏览器、搜索引擎都清晰
  • 和 CSS、JavaScript、SEO 协同
  • 在主题系统里保持可复用和一致性

如果你要,我可以继续把这篇文档扩成更深入的版本,例如:

  • HTML 表单深度指南
  • HTML 语义化与可访问性实战
  • HTML SEO 模板最佳实践
  • HTML5 常用标签与属性清单
  • 主题模板中的 HTML 组织规范
本文地址: https://www.vvcms.cn/blog/html-guid
版权所有 © admin 未经授权不得转载