HTML详细教程
HTML详细教程
ZhangCurryHTML详细教程
HTML 零基础详细教程
本教程从基础概念到实战案例,循序渐进讲解HTML核心知识,适合零基础入门,所有代码均可直接复制运行,快速掌握网页搭建基础。
一、HTML 基础认知
- 什么是HTML
HTML(HyperText Markup Language,超文本标记语言),不是编程语言,是用来描述网页结构的标记语言,通过各类标签定义网页中的文字、图片、链接、视频等元素。
- HTML 文档基本结构
所有HTML页面都遵循固定的骨架结构,标签成对出现(少数自闭合标签除外),层级嵌套清晰。
1 | <!DOCTYPE html> <!-- 声明文档类型为HTML5,必须放在第一行 --> |
- 如何编写/运行HTML
编写工具:记事本(电脑自带)、VS Code(推荐,免费带语法高亮)、HBuilder等;
保存规则:文件后缀为.html或.htm,编码选择UTF-8;
运行:直接双击保存的HTML文件,用任意浏览器(Chrome/Edge/Firefox)打开即可。
- HTML 核心规则
标签不区分大小写,推荐小写(符合W3C规范);
标签可嵌套,但不可交叉嵌套(正确:
部分标签为自闭合标签(无需结束标签),如
、、(HTML5中可省略/,写为
即可)。
二、HTML 基础标签
基础标签是搭建网页的核心,涵盖文字、段落、换行、标题、列表等常用元素,是必须掌握的基础。
- 标题标签:
-
表示网页中的标题,从h1到h6字体逐渐变小,一个页面建议只写一个h1(符合SEO规范,为页面核心标题)。
1 | <h1>一级标题(最大)</h1> |
- 段落与换行标签:
、
:定义段落,自动在段落前后生成空白行,区分不同文本块;
:强制换行,无空白行,适用于同一段落内的换行。
这是第一个段落,HTML是网页的基础,所有网页都是基于HTML搭建的。
这是第二个段落
这是同一段落内的换行,用br标签实现。
- 文本格式化标签
用于对文字进行加粗、斜体、删除线、下划线等样式设置,分语义化标签(推荐,明确标签含义)和纯样式标签(仅做样式,不推荐)。
效果语义化标签纯样式标签加粗斜体删除线下划线上标-下标-加粗的文字(语义化,强调重要性)
斜体的文字(语义化,强调语气)
带删除线的文字
H2O(水的化学式,下标)
23=8(2的3次方,上标)
- 列表标签:无序列表、有序列表、自定义列表
网页中常用的内容排版形式,如导航、步骤、说明等,列表标签需嵌套使用(外层列表+内层列表项)。
(1)无序列表:
- +
-
无顺序,默认带项目符号(圆点),可通过CSS修改符号样式。
1
<ul> <li>苹果</li> <li>香蕉</li> <li>橙子</li> </ul>
(2)有序列表:
- +
-
有顺序,默认带数字编号,可通过type属性修改编号类型(数字/字母/罗马数字)。
1
<ol type="1"> <!-- type可选:1(数字)、a(小写字母)、A(大写字母)、i(罗马数字) --> <li>第一步:打开浏览器</li> <li>第二步:输入网址</li> <li>第三步:访问网页</li> </ol>
(3)自定义列表:
- +
- +
-
用于“标题+解释”的场景,如商品说明、名词解释,
- 为标题,
- 为解释内容(默认缩进)。
1
<dl> <dt>HTML</dt> <dd>超文本标记语言,用于搭建网页结构</dd> <dt>CSS</dt> <dd>层叠样式表,用于美化网页样式</dd></dl>
- 分隔线与注释标签:
、
:添加水平分隔线,自闭合标签,用于分隔网页不同模块; :HTML注释,不会显示在网页中,用于标注代码含义,方便自己/他人阅读。1
<p>这是上半部分内容</p><hr> <!-- 水平分隔线 --><p>这是下半部分内容</p>
三、HTML 媒体与链接标签
实现网页的图片展示、超链接跳转、视频/音频播放,是让网页从“纯文字”变“多媒体”的核心。
核心标签,用于实现页面跳转、锚点定位、打开新窗口等,核心属性为href。
核心属性
href:指定跳转目标(必填),值可以是网页地址、本地文件路径、锚点id、邮箱/电话;
target:指定打开方式,_self(默认,当前窗口打开)、_blank(新窗口打开,推荐);
title:鼠标悬停在链接上时显示的提示文字。
常用用法
1
2
3
4
5
6<!-- 跳转到外部网页,新窗口打开 --><a href="https://www.baidu.com" target="_blank" title="点击进入百度">百度</a><!-- 跳转到本地HTML文件(同一文件夹下的test.html) -->
<a href="test.html">跳转到本地页面</a><!-- 锚点定位:跳转到页面内指定位置(需给目标元素加id) -->
<a href="#top">回到顶部</a><h2 id="top">顶部标题</h2><!-- 发送邮箱(点击打开默认邮箱软件) -->
<a href="mailto:123456@qq.com">联系我们</a><!-- 拨打电话(手机端点击直接拨号) -->
<a href="tel:13800138000">拨打客服电话</a><!-- 空链接:暂时不跳转,用#表示 -->
<a href="#">空链接</a>- 图片标签:
自闭合标签,用于在网页中插入图片,核心属性为src和alt,必须掌握。
核心属性
src:指定图片路径(必填),值可以是本地图片路径、网络图片地址;
alt:图片加载失败时显示的替代文字(必填,符合SEO和无障碍访问);
width/height:设置图片宽高,单位为像素(px,可省略),建议只设一个,图片会等比例缩放,避免变形;
title:鼠标悬停在图片上时显示的提示文字;
border:设置图片边框宽度,默认0(可通过CSS替代)。
常用用法
1
2
3
4
5
6<!-- 插入网络图片 -->
<img src="https://img0.baidu.com/it/u=123456,789012&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500" alt="风景图" width="300"><!-- 插入本地图片(同一文件夹下的img文件夹中的1.jpg) -->
<img src="img/1.jpg" alt="本地图片" height="200">图片路径注意事项同级路径:图片和HTML文件在同一文件夹,
直接写文件名:src="1.jpg";下级路径:图片在HTML文件的子文件夹中,
写文件夹/文件名:src="img/1.jpg";上级路径:图片在HTML文件的父文件夹中,
写../文件名:src="../1.jpg"。- 音频标签:``
HTML5新增,用于播放音频,支持MP3、WAV、OGG格式,核心属性为src和controls。
1
2
3
4
5<!-- 基础音频播放,controls显示播放控件(播放/暂停/音量) --><audio src="music/1.mp3" controls><!-- 高级用法:多源兼容+自动播放+循环(autoplay部分浏览器禁用) -->
<audio controls loop>
<source src="music/1.mp3" type="audio/mpeg">
<source src="music/1.wav" type="audio/wav">
您的浏览器不支持音频播放常用属性:controls(显示控件)、autoplay(自动播放)、loop(循环播放)、muted(静音)。
- 视频标签:
HTML5新增,用于播放视频,支持MP4、WebM、OGV格式,用法和音频标签类似,核心属性为src、controls、width。
1
2
3
4
5<!-- 基础视频播放,设置宽度,高度等比例缩放 --><video src="video/1.mp4" controls width="500"></video><!-- 高级用法:多源兼容+封面+自动播放 --><video controls poster="img/cover.jpg" width="500">
<source src="video/1.mp4" type="video/mp4">
<source src="video/1.webm" type="video/webm">
您的浏览器不支持视频播放
</video>常用属性:controls(显示控件)、autoplay(自动播放)、loop(循环播放)、muted(静音)、poster(视频封面,未播放时显示的图片)。
四、HTML 布局与容器标签
用于划分网页结构,将页面分为头部、导航、主体、侧边栏、底部等模块,核心是块级容器
和行内容器,是网页布局的基础。- 块级容器:
无默认样式的块级标签,特点:独占一行,可设置宽高、边距,用于搭建网页大模块(如头部、主体、底部)。
1
2
3
4
5
6
7
8
9<!-- 用div划分网页三大模块 --><div style="width: 100%; height: 80px; background: #333; color: #fff;">
头部
</div>
<div style="width: 100%; height: 400px; background: #f5f5f5;">
主体
</div>
<div style="width: 100%; height: 60px; background: #000; color: #fff;">
底部
</div>注:style属性用于临时设置样式,后续会用CSS替代,此处仅做演示。
- 行内容器:
无默认样式的行内标签,特点:不独占一行,随内容排列,不可设置宽高,用于包裹行内文字/元素(如给某段文字单独设置颜色)。
这是一段文字,这段文字红色加粗,其余文字默认样式。
- HTML5 语义化布局标签
HTML5在
基础上,新增了有语义的布局标签,作用和一致,但更易读(代码标注更清晰),更符合SEO,推荐使用。标签含义对应网页模块
头部网页顶部(标题/导航) 1
2
3
4
5
6
7
8
9
10
11
12
13<!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>
<header>网页头部:包含标题和导航</header>
<nav>导航栏:首页 | 关于我们 | 联系我们</nav>
<main> <section> <h2>新闻模块</h2> <article>这是一篇新闻文章,独立的内容块</article> </section>
<aside>侧边栏:相关推荐/广告</aside> </main>
<footer>网页底部:版权所有 © 2025</footer>
</body>
</html>五、HTML 表格标签
用于展示结构化数据(如成绩表、商品表、数据统计),核心是表格标签嵌套,需按固定顺序书写。
- 表格核心标签
标签含义说明
表格容器包裹所有表格元素
表格行每一个 代表一行 表格主体包裹内容行,语义化标签表格底部包裹汇总行,语义化标签2. 表格基础属性表头单元格位于第一行/第一列,文字默认居中加粗 普通单元格表格的核心内容单元格表格头部包裹表头行,语义化标签 border:设置表格边框宽度,单位像素,默认0(无边框);
width/height:设置表格宽高;
cellspacing:设置单元格之间的间距,默认2px;
cellpadding:设置单元格内边距(内容到边框的距离),默认1px;
align:表格整体对齐方式(left/center/right)。
- 表格常用用法
(1)基础表格
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41<!-- 基础成绩表,带边框,宽500px --><table border="1" width="500" cellspacing="0" cellpadding="10">
<tr>
<th>姓名</th>
<th>语文</th>
<th>数学</th>
<th>英语</th>
</tr>
<tr>
<td>张三</td>
<td>90</td>
<td>95</td>
<td>88</td>
</tr>
<tr>
<td>李四</td>
<td>85</td>
<td>92</td>
<td>90</td>
</tr>
</table>
(2)单元格合并(跨行/跨列)表格进阶用法,通过rowspan(跨行合并)和colspan(跨列合并)实现,合并后需删除被合并的单元格。rowspan="n":单元格向下合并n行;colspan="n":单元格向右合并n列。
<!-- 带单元格合并的表格 -->
<table border="1" width="500" cellspacing="0" cellpadding="10">
<tr>
<th>姓名</th>
<th>科目</th>
<th>成绩</th>
</tr>
<tr>
<td rowspan="2">张三</td>
<!-- 跨行合并2行 -->
<td>数学</td>
<td>95</td>
</tr>
<tr>
<td>语文</td>
<td>90</td>
</tr>
<tr>
<td>李四</td>
<td colspan="2">总分:182</td> <!-- 跨列合并2列 --> </tr> </table>六、HTML 表单标签
用于收集用户信息(如登录、注册、问卷、搜索),是网页与用户交互的核心,核心标签为
的enctype=”multipart/form-data”使用; 数字输入:,只能输入数字;
日期选择:,弹出日期选择器;
搜索框:。
- 完整表单示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35<!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>
<h2>用户注册</h2>
<form action="#" method="post" style="width: 400px; line-height: 30px;">
<label for="uname">用户名:</label>
<input type="text" id="uname" name="username" placeholder="请输入用户名" maxlength="20" required><br/>
<label for="upwd">密码:</label>
<input type="password" id="upwd" name="password" placeholder="请输入密码" maxlength="16" required><br/>
性别:<input type="radio" id="male" name="gender" value="male" checked>
<label for="male">男</label>
<input type="radio" id="female" name="gender" value="female">
<label for="female">女</label><br/>
爱好:<input type="checkbox" id="read" name="hobby" value="read">
<label for="read">阅读</label>
<input type="checkbox" id="sport" name="hobby" value="sport">
<label for="sport">运动</label><br/>
<label for="city">所在城市:</label>
<select id="city" name="city">
<option value="">请选择</option>
<option value="beijing">北京</option>
<option value="shanghai">上海</option>
</select><br/>
<label for="msg">留言:</label>
<textarea id="msg" name="message" cols="20" rows="3"></textarea><br/>
<input type="submit" value="注册">
<input type="reset" value="重置">
</form></body>
</html>
注:required属性表示控件为必填项,提交时未输入会提示错误。七、HTML 特殊字符
在HTML中,部分字符有特殊含义(如<、>、&),直接书写会被浏览器解析为标签,需用特殊字符实体替代,常用如下:
显示效果字符实体说明空格 普通空格,多个连续空格需多次写<<小于号>>大于号&&和号¥¥人民币符号©©版权符号®®注册商标
HTML中<div>是块级标签 这是三个空格
1
<p>版权所有 © 2025</p><p>价格:¥99</p>
八、HTML 进阶技巧
- 引入外部资源
(1)引入CSS文件
在
中用标签引入外部CSS文件,实现样式与结构分离。1
<head> <link rel="stylesheet" href="css/style.css"> <!-- href为CSS文件路径 --></head>
(2)引入JS文件
在
末尾用本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ZhangCurry的个人博客!数据库加载中通知你好呀
- 分隔线与注释标签:
-
