HTML 入门手册

从零开始学习 HTML —— 网页的骨架与灵魂。适合所有零基础初学者。

什么是 HTML?

HTML 的全称是 HyperText Markup Language(超文本标记语言)。 它不是编程语言,而是一种标记语言——通过"标签"告诉浏览器如何展示内容。

你可以把 HTML 想象成盖房子的结构图纸——它决定哪里是墙、哪里是门窗、哪里是房间。而 CSS 是装修,JavaScript 是水电。

HTML 文档结构 必知

每个 HTML 页面都有固定的骨架结构。这是一个最小可用的 HTML 文件:

<!-- index.html -->
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>页面标题</title>
</head>
<body>
    <h1>Hello, World!</h1>
    <p>这是我的第一个页面。</p>
</body>
</html>
标签作用
<!DOCTYPE html>声明文档类型为 HTML5(必须写在第一行)
<html>整个 HTML 文档的根元素
<head>页面的元数据(标题、编码、样式等),用户不可见
<meta charset="UTF-8">设置字符编码,支持中文
<title>浏览器标签栏上显示的标题
<body>页面可见内容的容器
一定要写 <!DOCTYPE html>! 不写的话浏览器会以"怪异模式"渲染,导致页面错乱。

基本语法

标签的两种形式

类型写法示例
双标签<开>内容</关><p>文字</p>
单标签(自闭合)<标签> 或 <标签 /><br>、<img>

属性

标签可以通过属性来配置更多行为,写在开始标签里:

<a href="https://example.com" target="_blank">点我打开新窗口</a>

其中 href 和 target 就是属性,格式是 属性名="属性值"。

标签的嵌套

标签可以嵌套,但必须正确闭合——先开的后关:

<!-- ✅ 正确 -->
<div>
    <p>文字</p>
</div>

<!-- ❌ 错误:交叉嵌套 -->
<div>
    <p>文字</div>
</p>

注释

注释不会显示在页面上,仅供开发者自己查看:

<!-- 这是注释,用户看不到我 -->
<!--
    多行注释也是可以的
    可以写很多行
-->
注释可以用来暂时"禁用"某段代码,或给同事(包括未来的自己)写说明。

标题标签 h1 ~ h6

HTML 提供了 6 级标题,<h1> 最大,<h6> 最小:

h1. 一级标题

h2. 二级标题

h3. 三级标题

h4. 四级标题

h5. 五级标题
h6. 六级标题
每个页面最好只有一个 <h1>,通常放页面标题或 logo。不要为了改变字号而滥用标题层级——那是 CSS 的事。

文本标签

标签作用效果
<p>段落前后自动换行加间距
<br>换行(单标签)强制换行
<hr>水平分割线(单标签)画一条横线
<strong>重要文字(加粗)加粗
<em>强调(斜体)斜体
<u>下划线下划线
<s>删除线删除线
<small>小号文字小号文字
<mark>高亮标记高亮
<pre>预格式文本保留空格和换行
<code>代码片段等宽字体
<blockquote>长引用(块级)缩进显示

示例

<p>这是普通段落文字。</p>
<p>这是重要文字,这是强调文字。</p>
<blockquote>
    这是引用的内容,通常会缩进显示。
</blockquote>

列表

无序列表 <ul>

项目符号为圆点:

<ul>
    <li>苹果</li>
    <li>香蕉</li>
    <li>橘子</li>
</ul>
  • 苹果
  • 香蕉
  • 橘子

有序列表 <ol>

带数字编号:

  1. 第一步:打开编辑器
  2. 第二步:编写 HTML
  3. 第三步:保存为 .html 文件

自定义列表 <dl>

用于术语-描述的场景:

<dl>
    <dt>HTML</dt>
    <dd>超文本标记语言,网页的骨架</dd>
    <dt>CSS</dt>
    <dd>层叠样式表,负责网页的样式</dd>
</dl>

图片 <img>

<img> 是单标签,用来显示图片:

<img
    src="images/photo.jpg"
    alt="一张风景照片"
    width="400"
    height="300"
>
属性说明是否必填
src图片路径(本地或网络 URL)是
alt图片加载失败时的替代文本强烈建议
width / height宽高(像素或百分比)否
alt 属性非常重要——它不仅能在图片加载失败时提供文字说明,还能被屏幕阅读器朗读给视障用户,同时有利于搜索引擎优化(SEO)。

表单 <form>

表单用于收集用户输入,是前后端交互的核心:

<form action="/submit" method="post">

    <label for="username">用户名:</label>
    <input type="text" id="username" name="username" required>

    <label for="pwd">密码:</label>
    <input type="password" id="pwd" name="pwd">

    <label for="gender">性别:</label>
    <select id="gender" name="gender">
        <option value="male">男</option>
        <option value="female">女</option>
    </select>

    <button type="submit">注册</button>
</form>

常用输入类型

type 值用途
text单行文本输入
password密码输入(内容以圆点遮盖)
email邮箱(浏览器会校验格式)
number数字(可调上下箭头)
checkbox复选框(多选)
radio单选框
file文件上传
date日期选择器
color颜色选择器
range滑块
submit提交按钮
reset重置按钮

实际演示

表格 <table>

表格由行(<tr>)和单元格(<td> / <th>)组成:

<table>
    <thead>
        <tr>
            <th>姓名</th>
            <th>年龄</th>
            <th>城市</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>张三</td>
            <td>28</td>
            <td>北京</td>
        </tr>
        <tr>
            <td>李四</td>
            <td>32</td>
            <td>上海</td>
        </tr>
    </tbody>
</table>
姓名年龄城市
张三28北京
李四32上海

合并单元格用 colspan(跨列)和 rowspan(跨行):

<td colspan="2">合并两列</td>

多媒体

视频 <video>

<video src="movie.mp4" controls width="560">
    您的浏览器不支持视频播放。
</video>

音频 <audio>

<audio src="music.mp3" controls>
    您的浏览器不支持音频播放。
</audio>

嵌入页面 <iframe>

<iframe
    src="https://www.bilibili.com"
    width="560"
    height="315"
    allowfullscreen
></iframe>
controls 属性会显示播放/暂停、进度条等控件。不加的话用户无法操作播放,适合背景音乐等场景。

HTML5 语义化标签

语义化标签让代码"见名知意",对开发者、浏览器、搜索引擎都更友好:

<header>   页面头部 / 文章头部
<nav>       导航栏
<main>     页面主体内容(每页只有一个)
<article>  独立文章 / 内容块
<section>  文档中的章节
<aside>    侧边栏 / 补充内容
<footer>   页面底部(版权、联系方式等)
<figure>   配图区域
<figcaption> 配图的说明文字
不要为了"语义化"而滥用——比如所有 <div> 都改成 <section>。合理使用即可,重点是结构清晰。

实际页面结构示例

<body>
    <header>
        <h1>我的博客</h1>
        <nav>
            <a href="/">首页</a>
            <a href="/about">关于</a>
        </nav>
    </header>

    <main>
        <article>
            <h2>文章标题</h2>
            <p>文章内容...</p>
        </article>
        <aside>
            <h3>关于作者</h3>
        </aside>
    </main>

    <footer>
        <p>&copy; 2026 我的博客</p>
    </footer>
</body>

常用字符实体

有些字符在 HTML 中有特殊含义(如 <、>),需要写成"实体"形式才能正常显示:

显示结果实体名称实体编号
<&lt;&#60;
>&gt;&#62;
&&amp;&#38;
"&quot;&#34;
©&copy;&#169;
®&reg;&#174;
 (空格)&nbsp;&#160;
最常用的是 &lt; 和 &gt;:在代码块中展示 HTML 标签时必须用它,否则浏览器会把标签当成真的标签来解析。

推荐学习资源

给初学者的建议

  1. 多动手写——打开记事本/VSCode,跟着教程敲代码,不要复制粘贴
  2. 用开发者工具——在浏览器按 F12 查看任何网页的 HTML 结构
  3. 先学 HTML 再学 CSS——骨架搭好再装修
  4. 不要死记硬背——记住常用标签即可,生僻的随时查 MDN
  5. 保持好奇——看到喜欢的网页,就用"查看源代码"研究它是怎么做的