HTML 核心结构
掌握网页的基本构成元素
从"看不懂代码"到"能读懂任何网页的结构"为何学 HTML
老板让你改个网页上的文字。你打开浏览器按 F12,看到一堆代码——完全看不懂
<div class="container">
<header>
<nav>...</nav>
</header>
<main>
<article>...</article>
</main>
</div>
Part 1: 文档结构
每个 HTML 页面都从同一个基本骨架开始——就像建房子先画图纸。
文档骨架
<!DOCTYPE html>、<html>、<head>、<body> — 四层结构构成每个网页的骨架。
元数据与标题
<meta charset>、<title> 等标签放在 head 中,用户看不到但浏览器需要。
基本骨架
这段代码是所有网页的起点,每个 HTML 文件都是这个结构
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, initial-scale=1.0">
<title>页面标题</title>
</head>
<body>
<!-- 页面可见内容 -->
</body>
</html>
| 标签 | 作用 |
|---|---|
<!DOCTYPE html> | 声明文档类型为 HTML5 |
<html lang="zh-CN"> | 根元素,指定页面语言 |
<head> | 存放元数据(不显示在页面上) |
<meta charset="UTF-8"> | 设置字符编码,避免乱码 |
<title> | 浏览器标签页显示的标题 |
<body> | 所有可见内容的容器 |
文档骨架是一棵树
<!DOCTYPE html>
└── <html>
├── <head> ← 元数据区(用户看不到)
│ ├── <meta charset>
│ ├── <meta viewport>
│ └── <title>
└── <body> ← 内容区(显示在浏览器)
├── <h1>
├── <p>
├── <img>
└── <a>
<body> 内。<head> 里的东西用户看不到。
Part 2: 文本与链接
段落、标题、强调、链接——这些是网页上最常见的文本元素。
文本标签
h1-h6 标题、p 段落、strong 加粗、em 斜体、br 换行、hr 分隔线 — 六种标签覆盖 90% 的文本需求。
链接用法
外部链接、内部链接、锚点链接、邮件链接、电话链接 — 五种常见链接类型。
文本标签
六种最常用的文本标签,覆盖 90% 的文本需求
| 标签 | 用途 | 示例 |
|---|---|---|
<p> | 段落 | <p>一段文字</p> |
<h1>-<h6> | 标题(h1 最大) | <h1>主标题</h1> |
<strong> | 加粗(语义:重要) | <strong>重要</strong> |
<em> | 斜体(语义:强调) | <em>强调</em> |
<br> | 换行(空元素) | 行一<br>行二 |
<hr> | 水平分隔线 | <hr> |
<h1>欢迎来到我的网站</h1>
<p>这是一个段落,<strong>这部分很重要</strong>,
而<em>这个词需要强调</em>。</p>
<hr>
<p>第二段内容<br>换行显示。</p>
<strong> 和 <em> 比 <b> 和 <i> 更推荐,因为它们有语义——告诉浏览器和搜索引擎这段文字的重要性。
链接用法
<a> 标签是互联网的灵魂——点击跳转到其他页面
<a href="目标地址" target="打开方式">链接文字</a>
| 类型 | 写法 | 说明 |
|---|---|---|
| 外部链接 | href="https://example.com" | 完整 URL |
| 内部链接 | href="about.html" | 同站页面跳转 |
| 锚点链接 | href="#section1" | 页面内跳转(需对应 id) |
| 邮件链接 | href="mailto:a@b.com" | 打开邮件客户端 |
| 电话链接 | href="tel:+8613800138000" | 移动端拨号 |
target="_blank" 时加上 rel="noopener",防止安全漏洞。
Part 3: 图片与列表
图片让页面有视觉内容,列表让信息有条理。
图片标签
<img> 的 src、alt、路径写法 — 唯一没有结束标签的常用元素。
列表类型
无序列表 <ul> 和有序列表 <ol> — 导航菜单和步骤说明的基础。
图片标签
<img> 是空元素——没有结束标签,属性写在开始标签里
<img src="图片路径" alt="替代文本" width="200">
| 属性 | 说明 |
|---|---|
src | 图片文件路径(必需) |
alt | 替代文本(必需):图片无法显示时的提示,也用于无障碍访问 |
width / height | 尺寸(推荐写上:浏览器据此预留空间,避免图片加载时页面跳动;需要变形再用 CSS 覆盖) |
相对路径
<img src="images/photo.jpg"
alt="风景照">
相对于当前 HTML 文件的位置
绝对路径
<img src="https://example.com/p.jpg"
alt="网络图片">
完整的网络地址
列表类型
无序列表(ul)用于没有顺序的项目,有序列表(ol)用于有步骤的流程
无序列表
<ul>
<li>苹果</li>
<li>香蕉</li>
<li>橙子</li>
</ul>
导航菜单、功能列表
有序列表
<ol>
<li>准备材料</li>
<li>开始制作</li>
<li>完成</li>
</ol>
步骤、排行榜
<li> 里面再放一个 <ul> 或 <ol>。导航菜单通常用 <ul> + <li> + <a> 实现。
Part 4: 表格与表单
表格展示结构化数据,表单收集用户输入。
表格结构
table、thead、tbody、tr、th、td — 语义化地组织二维数据。
表单与输入
form、input、label、button — 用户与网页交互的入口,包含多种输入类型。
表格结构
用 thead/tbody/tfoot 语义化地组织表格数据
<table>
<thead>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>城市</th>
</tr>
</thead>
<tbody>
<tr>
<td>张三</td>
<td>25</td>
<td>北京</td>
</tr>
<tr>
<td>李四</td>
<td>30</td>
<td>上海</td>
</tr>
</tbody>
</table>
HTML 标签
<table>
<thead><tr>
<th>姓名</th>
</tr></thead>
<tbody><tr>
<td>小明</td>
</tr></tbody>
</table>
浏览器渲染
┌──────┐
│ 姓名 │ ← th(加粗表头)
├──────┤
│ 小明 │ ← td(普通单元格)
└──────┘
↑ thead ↑ tbody
标签速查
<table>— 整个表格<thead>— 表头部分<tbody>— 表体部分<tr>— 表格行<th>— 表头单元格(加粗居中)<td>— 普通单元格
表单基础
表单是用户与网页交互的入口——登录、注册、搜索都靠它
<form action="/submit" method="post">
<label>
用户名:
<input type="text" name="username"
placeholder="请输入用户名">
</label>
<label>
密码:
<input type="password" name="password">
</label>
<label>
<input type="checkbox" name="remember">
记住我
</label>
<button type="submit">登录</button>
</form>
<label> 包裹或关联表单控件,这对屏幕阅读器用户非常重要。
输入类型
HTML5 提供了丰富的 input 类型,每种都有特定的验证和输入方式
type | 用途 | 特点 |
|---|---|---|
text | 单行文本 | 最基本的输入 |
password | 密码输入 | 输入内容隐藏显示 |
email | 邮箱输入 | 自动验证邮箱格式 |
number | 数字输入 | 只允许输入数字 |
checkbox | 复选框 | 多选 |
radio | 单选按钮 | 同 name 只能选一个 |
file | 文件上传 | 打开文件选择器 |
date | 日期选择 | 弹出日历选择器 |
表单扩展
除了 input,表单还有下拉选择、多行文本和按钮
<!-- 下拉选择 -->
<select name="city">
<option value="bj">北京</option>
<option value="sh">上海</option>
</select>
<!-- 多行文本 -->
<textarea name="message" rows="4"></textarea>
<!-- 按钮 -->
<button type="submit">提交</button>
<button type="reset">重置</button>
name 提交时的字段名(必需),placeholder 输入提示,required 必填验证。
Part 5: 语义化
用有意义的标签代替万能的 div——让代码自己说话。
语义化标签
header、nav、main、article、section、aside、footer — 七个标签构成现代网页的标准结构。
为何语义化
代码更清晰、搜索引擎更友好、屏幕阅读器能为视障用户提供导航 — 三个核心理由。
语义化标签
现代网页的标准结构——用标签名称就能理解每个区域的作用
<header> <!-- 页眉:logo、导航 -->
<h1>网站标题</h1>
<nav>导航链接...</nav>
</header>
<main> <!-- 主要内容(整个页面只有一个)-->
<article> <!-- 独立内容,如一篇文章 -->
<h2>文章标题</h2>
<p>文章内容...</p>
</article>
<aside> <!-- 侧边栏、相关推荐 -->
<h3>推荐阅读</h3>
</aside>
</main>
<footer> <!-- 页脚:版权信息 -->
<p>© 2025 版权信息</p>
</footer>
| 标签 | 用途 |
|---|---|
<header> | 页面或区块的头部 |
<nav> | 导航链接集合 |
<main> | 页面主要内容(唯一) |
<article> | 可独立分发的内容 |
<section> | 内容区块(通常有标题) |
<aside> | 附属内容(侧边栏) |
<footer> | 页脚信息 |
语义化标签拼出一个页面
┌─────────────────────────────────────┐
│ <header> 页眉(logo + <nav> 导航) │
├──────────────────────────┬──────────┤
│ <main> 主内容 │ <aside> │
│ ┌──────────────────────┐ │ 侧边栏 │
│ │ <article> 独立文章 │ │ │
│ ├──────────────────────┤ │ │
│ │ <section> 内容分块 │ │ │
│ └──────────────────────┘ │ │
├──────────────────────────┴──────────┤
│ <footer> 页脚(版权、联系方式) │
└─────────────────────────────────────┘
内嵌内容
<iframe> 可以在页面中嵌入另一个完整的网页——地图、视频、第三方页面
<iframe src="https://example.com"
width="600" height="400"
title="嵌入页面">
</iframe>
常见用途
- 嵌入地图(Google Maps、高德)
- 嵌入视频(YouTube、B 站)
- 嵌入第三方页面(支付、登录)
关键属性
src— 嵌入的网页地址title— 无障碍描述sandbox— 安全沙箱(可选)
<iframe> 不是空元素,需要结束标签。
阅读技巧
拿到一个 HTML 页面,按这个顺序快速理解它的结构
第一步:看骨架
找 <header>、<main>、<footer>,理解页面的大结构。看 <nav> 了解导航。
第二步:看内容
找 <section> 和 <article> 理解内容区块。看 <h1>-<h6> 了解信息层级。
第三步:找交互
找 <form> 了解用户输入功能,找 <a> 和 <button> 了解可点击区域。
元素速查
| 类别 | 常用标签 |
|---|---|
| 结构 | html, head, body, header, main, footer |
| 文本 | p, h1-h6, strong, em, br, hr |
| 链接 | a |
| 图像 | img |
| 列表 | ul, ol, li |
| 表格 | table, tr, th, td, thead, tbody |
| 表单 | form, input, label, button, select, textarea |
| 嵌入 | iframe |
本章学习完毕
你已经掌握了 HTML 核心结构:文档骨架、文本标签、链接、图片、列表、表格、表单、语义化标签。下一章将学习如何用 AI 精准生成 HTML。