HTML 基础入门
HTML(HyperText Markup Language,超文本标记语言)是构建网页的标准标记语言。本文档将带你了解 HTML 的基础知识,包括其发展历史、基本结构和常用元素。
1. HTML 发展简史与作用
1.1 HTML 发展简史
HTML 的发展经历了多个重要阶段:
- 1991 年:Tim Berners-Lee 创建了 HTML,最初只有 18 个标签
- 1995 年:HTML 2.0 发布,成为第一个正式标准
- 1997 年:HTML 3.2 发布,增加了表格、Applet 等特性
- 1999 年:HTML 4.01 发布,分离了样式(CSS)和结构(HTML)
- 2000 年:XHTML 1.0 发布,基于 XML 的严格 HTML
- 2014 年:HTML5 成为 W3C 推荐标准,引入了语义化标签、多媒体支持等新特性
1.2 HTML 的作用
HTML 的主要作用包括:
- 结构定义:定义网页的内容结构,如标题、段落、列表等
- 内容组织:组织文本、图片、链接等内容元素
- 语义表达:通过标签传达内容的语义含义
- 基础交互:提供表单、链接等基础交互能力
1.3 浏览器解析流程
当浏览器接收到 HTML 文档时,会按照以下流程进行解析:
1 | 1. 接收 HTML 文档 |
关键步骤说明:
- DOM 构建:浏览器从上到下解析 HTML,遇到标签就创建 DOM 节点
- CSSOM 构建:解析 CSS 规则,建立样式对象模型
- 渲染树构建:将 DOM 和 CSSOM 结合,只包含需要显示的元素
- 重排与重绘:布局改变时触发重排(Reflow),样式改变时触发重绘(Repaint)
2. 文档结构
一个标准的 HTML 文档包含以下基本结构:
2.1 <!DOCTYPE> 声明
<!DOCTYPE> 声明位于文档的第一行,用于告诉浏览器使用哪个 HTML 版本进行解析。
1 |
说明:
- HTML5 只需要简单的
<!DOCTYPE html> - 必须是文档的第一行,在
<html>标签之前 - 不区分大小写,但推荐使用小写
历史版本示例:
1 | <!-- HTML 4.01 Strict --> |
2.2 <html> 根元素
<html> 是 HTML 文档的根元素,包含整个文档内容。
1 | <html lang="zh-CN"> |
常用属性:
lang:指定文档的语言,有助于搜索引擎和屏幕阅读器zh-CN:简体中文zh-TW:繁体中文en:英语en-US:美式英语
2.3 <head> 头部元素
<head> 元素包含文档的元信息(metadata),这些信息不会在页面上显示,但对浏览器和搜索引擎很重要。
1 | <head> |
<head> 中包含的常见元素:
<meta>:文档的元数据<title>:页面标题<link>:外部资源链接(如 CSS 文件)<style>:内联样式<script>:JavaScript 代码(通常放在<body>底部)
2.4 <body> 主体元素
<body> 元素包含所有在浏览器中显示的内容。
1 | <body> |
完整示例:
1 |
|
3. 常用元信息
3.1 charset 字符编码
charset 指定文档的字符编码,必须放在 <head> 的前 1024 个字符内。
1 | <meta charset="UTF-8"> |
说明:
- UTF-8 是推荐的编码方式,支持所有字符
- 如果不指定或指定错误,可能导致中文等字符显示为乱码
- 必须使用小写
utf-8或UTF-8
其他编码方式(不推荐):
1 | <meta charset="GB2312"> <!-- 简体中文 --> |
3.2 viewport 视口设置
viewport 控制移动设备的视口宽度和缩放比例,对响应式设计至关重要。
1 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
属性说明:
width=device-width:视口宽度等于设备屏幕宽度initial-scale=1.0:初始缩放比例为 100%maximum-scale=1.0:最大缩放比例(可选,防止用户缩放)user-scalable=no:禁止用户缩放(不推荐,影响可访问性)
其他常见配置:
1 | <!-- 响应式设计推荐配置 --> |
3.3 title 页面标题
<title> 定义浏览器标签页显示的标题,也是搜索引擎结果中显示的标题。
1 | <title>页面标题</title> |
最佳实践:
- 标题应该简洁明了,通常 50-60 个字符
- 每个页面应该有独特的标题
- 可以包含网站名称和页面描述,用分隔符连接
1 | <title>首页 - 我的网站</title> |
3.4 base 基础 URL
<base> 为页面上的所有相对 URL 指定基础地址,一个文档中只能有一个 <base> 元素。
1 | <base href="https://www.example.com/" target="_blank"> |
属性:
href:基础 URLtarget:默认链接打开方式(_blank、_self、_parent、_top)
示例:
1 | <head> |
注意:<base> 的使用较少,通常直接使用绝对 URL 或相对路径更清晰。
3.5 meta 元信息标签
<meta> 标签用于提供页面的元数据,有多种用途。
SEO 优化
1 | <!-- 页面描述(搜索引擎结果中显示) --> |
社交分享优化
Open Graph(Facebook、LinkedIn 等):
1 | <meta property="og:type" content="website"> |
Twitter Cards:
1 | <meta name="twitter:card" content="summary_large_image"> |
页面刷新与重定向
1 | <!-- 5 秒后刷新页面 --> |
注意:自动刷新和重定向可能影响用户体验,应谨慎使用。
其他常用 meta 标签
1 | <!-- 文档类型 --> |
4. 注释、转义字符与实体
4.1 HTML 注释
HTML 注释用于在代码中添加说明,注释内容不会在浏览器中显示。
1 | <!-- 这是单行注释 --> |
最佳实践:
- 使用注释解释复杂的代码逻辑
- 注释应该简洁明了
- 不要过度注释显而易见的代码
- 可以使用注释来标记待办事项
1 | <!-- TODO: 需要添加用户登录功能 --> |
4.2 转义字符
在 HTML 中,某些字符具有特殊含义,如果想显示这些字符本身,需要使用转义字符。
常见的需要转义的情况:
- 标签符号:
<和> - 引号:
"和' - 特殊字符:
&、空格等
常见转义字符实体:
| 字符 | 实体名称 | 实体编号 | 说明 |
|---|---|---|---|
< |
< |
< |
小于号 |
> |
> |
> |
大于号 |
& |
& |
& |
和号 |
" |
" |
" |
双引号 |
' |
' |
' |
单引号(HTML5) |
| 空格 | |
  |
不间断空格 |
示例:
1 | <!-- 显示 HTML 标签 --> |
4.3 HTML 实体
HTML 实体用于显示特殊字符、符号和 Unicode 字符。
常用实体分类
1. 标点符号:
1 | © <!-- © 版权符号 --> |
2. 货币符号:
1 | ¥ <!-- ¥ 人民币/日元 --> |
3. 数学符号:
1 | × <!-- × 乘号 --> |
4. 箭头符号:
1 | ← <!-- ← 左箭头 --> |
5. 希腊字母:
1 | Α <!-- Α --> |
使用实体编号
除了实体名称,还可以使用实体编号(十进制或十六进制):
1 | <!-- 十进制 --> |
完整示例
1 |
|
总结
本文档介绍了 HTML 的基础知识,包括:
- HTML 发展历史:从 HTML 2.0 到 HTML5 的演进
- 浏览器解析流程:DOM 构建、CSSOM 构建、渲染树生成等
- 文档结构:
<!DOCTYPE>、<html>、<head>、<body>的作用和用法 - 元信息:字符编码、视口设置、SEO 优化、社交分享等 meta 标签
- 注释与实体:如何添加注释和使用转义字符、HTML 实体
掌握这些基础知识是学习前端开发的第一步。接下来,你可以学习 HTML 的具体元素和标签,如标题、段落、列表、链接、图片等。