HTML学习笔记[Web开发]
HTML学习
本文为学习笔记,参考w3c,菜鸟,Mozilla,尚硅谷等文章编写。
文章目录
-
- HTML 简介
-
- HTML文档的后缀名
- HTML版本
-
HTML 编辑工具
-
HTML 标签 (HTML Tag)
-
-
HTML 提示:请注意,在此环境中应遵循规则:所有标签名称必须以小写字母开头
-
HTML 标签简写及全称 详细说明了各个标签的缩写形式及其完整名称
-
HTML 元素
-
- HTML元素组成
- 嵌套元素
- 块级元素和内联元素
- 空元素
-
HTML 属性
-
- 属性组成
- 布尔属性
-
-
-
HTML网页结构及其相关内容
-
基础的 HTML 语法结构
-
通用声明部分
-
头部代码块
-
标题标记
-
水平分割线
-
注释代码块
-
段落标记
-
分段符或换行处理代码块
-
文本格式化选项块
-
超链接代码块
-
图片标记
-
表格元素标记
-
列表相关的 HTML 语法选项描述性内容
-
表格元素标记描述性内容(如表格标题)
- CSS样式表 - CSS相关语法内容描述性分析性内容(如变量名)
- 布局选项块(如grid, flex)
- 表单元素(form)相关 HTML 语法内容描述性分析性内容(如表单提交逻辑)
- 框架相关 HTML 语法内容描述性分析性内容(如DOM操作)
- 颜色值相关的 HTML 语法属性名称及功能描述性分析性内容(如背景颜色设置)
- 脚本标签(script)的相关 HTML 语法属性名称及功能描述性分析性内容(如事件监听功能)
- 字符实体相关的 HTML 编程逻辑解释说明性分析性内容(如特殊字符编码处理方式)
- 统一资源定位器(Uniform Resource Locators — URL ) 的相关编程逻辑解释说明性分析性内容 (如路径解析机制)
HTML 简介
中文名称: 超文本标记语言
英语名称: HyperText Markup Language
就其核心而言,HTML 是一种相当简单的、由不同元素组成的**标记语言 **,
HTML 是用来描述网页的一种语言。
- HTML 是一种特殊的
标记语言- 标记语言是一套
标记标签(markup tag) - 它用来表示网页的结构和内容。
- 它包含 HTML 标签以及纯文字内容。
- 它也被称作 web 页面。
- 它可以应用于各种文本片段作为 web 页面元素。
- 标记语言是一套
备注: HTML 标签不区分大小写。也就是说,输入标签时既可以使用大写字母也可以使用小写字母。不过,从一致性、可读性来说,最好仅使用小写字母。
**注意:**HTML中不支持 空格、回车、制表符,它们都会被解析成一个空白字符。
是 HTML5 标准网页声明,全称为 Document Type HyperText Mark-up Language,是一条标示语言。支持 HTML5 标准的主流浏览器都认识这个声明。表示网页采用 HTML5,
HTML文档的后缀名
- .html
- .htm
htm 与 html 的区别
前一者被称作超文本标记符(H^2空间中的函数),而后者则被称为超文本标记语言体系(算法复杂度为O(n))
通常认为 htm = html。它们都用于标记静态网页文件的类型,并且在替换时不会产生问题
两种后缀出现的原因
HTM源自于早期版本的8.3文件格式,在DOS操作系统中,默认仅限使用三字符后缀;因此采用HTM。而在Windows环境下无需区分HTM与HTML;HTML被设计用于处理较长文件名的情况;因此HTM被创建以兼容过去基于DOS的操作系统中的文件命名习惯,在功能上两者并无差异。以往情况下,在不同服务器上分别使用HTM和HTML作为存储结构;如今已被广泛采用。
HTML版本
从初期的网络诞生后,已经出现了许多HTML版本:
| 版本 | 发布时间 |
|---|---|
| HTML | 1991 |
| HTML+ | 1993 |
| HTML 2.0 | 1995 |
| HTML 3.2 | 1997 |
| HTML 4.01 | 1999 |
| XHTML 1.0 | 2000 |
| HTML5 | 2012 |
| XHTML5 | 2013 |
HTML 编辑器
-
推荐使用 * Visual Studio Code (简称 VS Code)
-
相关工具包 * Live Server / Live Preview : 实时查看
-
Fitten Code : 智能编程辅助工具
HTML 标签 (HTML Tag)
- HTML 标签由尖括号包围的核心词汇组成;例如 < html >。
- HTML 标签常见于以开合形式呈现的情况;例如 < b > 和 < /b >。
HTML 提示:使用小写标签
HTML 标签对大小写不敏感:
等同于
。许多网站都使用大写的 HTML 标签。
该组织在HTML 4标准中提倡采用小写字体格式,在后续版本中则规定必须使用小写字体。
HTML 标签简写及全称
下表列出了 HTML 标签简写及全称:
| 标签 | 英文全称 | 中文说明 |
|---|---|---|
| a | Anchor | 锚:使被标签包裹的内容成为一个超链接 |
| abbr | Abbreviation | 缩写词 |
| acronym | Acronym | 取首字母的缩写词 |
| address | Address | 地址 |
| alt | alter | 替用(一般是图片显示不出的提示) |
| b | Bold | 粗体(文本) |
| bdo | Bi-Directional Override | 文本显示方向 |
| big | Big | 变大(文本) |
| blockquote | Block Quotation | 区块引用语 |
| br | Break | 换行 |
| cell | cell | 巢 |
| cellpadding | cellpadding | 巢补白 |
| cellspacing | cellspacing | 巢空间 |
| center | Centered | 居中(文本) |
| cite | Citation | 引用 |
| code | Code | 源代码(文本) |
| dd | Definition Description | 定义描述 |
| del | Deleted | 删除(的文本) |
| dfn | Defines a Definition Term | 定义定义条目 |
| div | Division | 分隔 |
| dl | Definition List | 定义列表 |
| dt | Definition Term | 定义术语 |
| em | Emphasized | 加重(文本) |
| font | Font | 字体 |
| h1~h6 | Header 1 to Header 6 | 标题1到标题6 |
| hr | Horizontal Rule | 水平尺 |
| href | hypertext reference | 超文本引用 |
| i | Italic | 斜体(文本) |
| iframe | Inline frame | 定义内联框架 |
| ins | Inserted | 插入(的文本) |
| kbd | Keyboard | 键盘(文本) |
| li | List Item | 列表项目 |
| nl | navigation lists | 导航列表 |
| ol | Ordered List | 排序列表 |
| optgroup | Option group | 定义选项组 |
| p | Paragraph | 段落 |
| pre | Preformatted | 预定义格式(文本 ) |
| q | Quotation | 引用语 |
| rel | Reload | 加载 |
| s/ strike | Strikethrough | 删除线 |
| samp | Sample | 示例(文本 |
| small | Small | 变小(文本) |
| span | Span | 范围 |
| src | Source | 源文件链接 |
| strong | Strong | 加重(文本) |
| sub | Subscripted | 下标(文本) |
| sup | Superscripted | 上标(文本) |
| td | table data cell | 表格中的一个单元格 |
| th | table header cell | 表格中的表头 |
| tr | table row | 表格中的一行 |
| tt | Teletype | 打印机(文本) |
| u | Underlined | 下划线(文本) |
| ul | Unordered List | 不排序列表 |
| var | Variable | 变量(文本) |
HTML 元素
HTML元素组成
HTML 元素以开始标签 起始,以结束标签 终止

整个元素即指 开始标签 、内容 、结束标签 三部分组成的整体。
- 起始标记用于标识Markdown文档中的结构元素,并由左右方括号界定。
- 主体部分位于起始标记与结束标记之间。
- 结束标记标识结构块的结尾,并在其名称前带有斜杠。
这些特殊的符号分别称为开放标记和闭合标记。
嵌套元素
你也可以把元素放到其他元素之中——这被称作 嵌套 。
正确例:
<p>My cat is <strong>very</strong> grumpy.</p>
html
错误例:
<p>My cat is <strong>very grumpy.</p></strong>
html
请确保所有元素都被正确嵌套在一起:在示例中,我们首先打开了 <p> 标签,在随后的步骤中又打开了 <strong> 标签。因此必须先关闭 <strong> 标签以完成整个操作流程。
每个元素都必须以正确的方式开启和关闭** ,这样才能按照你的预期进行展示 。因为上述示例中出现的这种重叠 ,浏览器不得不做出推测 ,这种推测可能会导致不可预测的结果
块级元素和内联元素
在 HTML 中有两种你需要知道的重要元素类别,块级元素 和 内联元素 。
块级元素在页面中以独立的样式呈现,在HTML标记语言中被视为单独的标记实体,并放置于其前面所有前面文字段落之后的新行位置上;后续所有内容也会放置于新的行位置上;作为页面结构的一部分, 块级标记通常是用于表示标题, 段落, 列表, 菜单项或页脚等不同类型的视觉层级标记. 有时, 一块标记也可能代表其他特定类型的视觉层级结构;例如, 标题层次结构中的H1, H2等. 在HTML语法规范中, 块标记不允许嵌套于内联标记内部, 但可以嵌套于其他块标记内部.内联元素通常用于将格式应用到文档内容的一部分而不影响整段文字的整体布局. 内联格式指令不会触发文本换行操作. 它们通常与标准文本混合使用. 例如,标签创建超链接地址链接指向的位置; 标签用于强调文字; 标签用于突出显示文字.
考虑如下示例:
<em>第一</em><em>第二</em><em>第三</em>
<p>第四</p>
<p>第五</p>
<p>第六</p>
html

属于 HTML 中的一种块级元素类型。
因此,在第二行代码中,每个
元素都会独立地呈现。
段落之间通常会有空行(这正是因为大多数浏览器在渲染
元素时会应用默认的 CSS 行间距样式)。
备注: HTML5 重新定义了元素的类别:见元素内容分类。尽管这些新的定义虽然更加精确,但相较于现有定义中的块级元素和内联元素来说更为复杂,在之后的讨论中仍沿用旧的分类体系。
备注: 为了避免混淆的原因之一是 HTML5 保留了旧的术语而不采用新的术语。
备注: 你可以查看包含有详细列表的相关页面。相关页面包括块级元素和内联元素。
空元素
并非所有的元素都同时拥有起始标记、内容部分以及结束标记。某些元素仅有一个标记,在其所属位置插入或嵌入其他内容。这些无三个标记的特殊标记即被称为空标记或纯标记。
空元素在开始标签中进行关闭 (以开始标签的结束而结束)
例如:元素 <img> 是用来在页面插入一张指定的图片。元素 <br> 是换行
<img
src=""
alt="Firefox 图标" />
html
效果如下:

注释: 在HTML中,默认情况下无需在非空元素标签后添加斜杠/(
/),例如<img src="images/cat.jpg" alt="cat" />这样的写法是正确的。“src属性路径为'images/cat.jpg',alt属性值为'cat'”。同样也是一种合法且有效的语法结构。当希望HTML文件被视为有效的XML文档时,默认使用这种格式也是允许的。
HTML 属性
- HTML 元素允许定义属性以提供必要的功能参数。
- 通常情况下,这些参数可以通过在起始标签附近设置的属性进行描述与配置。
- 属性一般位于起始标签后方并包含用于指定功能所需的关键信息的内容参数定义域内。

字段存储着元素的补充信息
属性组成
- 在属性和元素名称之间设置一个空格。
- 当一个元素拥有多个属性时,则这些属性必须通过空格进行分隔。
- 属性名称后跟一个等式符号。
- 由一对双引号括起的字符串表示该属性值。
- 双引号是最常见的选择之一,在这种情况下也是最常用的选项。
属性总是以名称/值对的形式出现,比如:name=“value” 。
布尔属性
通常会遇到未赋值的情况,在这种情况下我们称其为布尔型属性。每个布尔型属性只能存储一个单一的值(这个唯一值通常与该 attribute 的名称相同)。例如,请考虑 disabled 属性:你可以将其赋给表单 input 元素以阻止用户输入内容(这样的表单 input 通常会被设计为灰色显示)。示例如下:
<!-- 使用 disabled 属性来防止终端用户输入文本到输入框中 -->
<input type="text" disabled />
<!-- 下面这个输入框不包含 disabled 属性,所以用户可以向其中输入 -->
<input type="text" />
html
HTML 网页结构
| < html> | < head> | < title>页面标题 |
|---|
< /head> |
| < body> | < h1>这是一个标题 |
|---|
| < p>这是一个段落 |
|---|
< /body> |
< /html> |
只有
<body> 区域部分才会在浏览器中显示。
举例:
<!--举例-->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>
页面标题</title>
</head>
<body>
<h1>我的第一个标题</h1>
<p>我的第一个段落。</p>
</body>
</html>
html


通过按下键盘上的F12键,在网页编辑器中即可启动开发者工具。
启动开发者工具后,在页面地址栏左侧可以看到所有元素的DOM结构。
这样一来,在线编辑器中就能直观地观察到各个组成部分及其相互关系。
<!DOCTYPE html>: 指定文档的类型声明。早期版本的 HTML(约1991-1992年)同样支持类似的链接声明形式,在此情况下可自动检测错误并提供其他有用的功能。<!DOCTYPE html>是最简短的有效文档类型声明!<html></html>: 主元素。此元素包围了页面中的所有内容,并被称为根元素。<head></head>: 头部容器元素。此容器元素包含了所有你希望在 HTML 页面中包含但在最终呈现视图中不展示的内容。这些内容包括搜索结果中的关键词、页面描述、字符集声明等信息等后续章节将详细介绍相关内容。<meta charset="utf-8">: �元数据信息设置模块。此元数据信息指定你的文件使用 UTF-8 字符集编码方案(其中包括绝大多数人类书面语言使用的字符),有助于确保你的文件能正确处理其中任意文本内容。无需理由就设置此参数以避免未来可能出现的问题。<title></title>: 标题设置模块。此设置决定了你网页在浏览器标签中的显示标题,并用于书签时的描述信息。<body></body>: 视觉呈现区域模块。此区域包含了你在浏览器窗口中所见的所有视觉呈现信息如文本图片视频游戏可播放音频轨道等。
HTML 基础格式
HTML的通用声明
声明位于文档的首位位置,并紧挨着标签放置。该标签的作用在于通知浏览器当前文档所采用的HTML或XHTML规范。
| HTML5
| HTML 4.01
HTTP/WWW.W". ORG/TR/HTML4 LOOSE.DTD> || XHTML 1".".
HTTP/WWW.W". ORG/TR/XHMTL".". DTD XHTML "]. TRANSITIONAL.DTD> |访问完整的网页声明类型页面:[TODO…]
HTML 头部
HTML 元素
该
元素涵盖了所有相关的头部标签。在 元素中包含着一系列与脚本、样式以及元数据相关的资源。该
元素涵盖了所有相关的头部标签。在 元素中包含着一系列与脚本、样式以及元数据相关的资源。允许在网页头部区域包含以下元标签:
</head>
html

**HTML <script> 元素**
<script>标签用于加载脚本文件,如: JavaScript。
#### HTML 标题
HTML 标题(Heading)是通过<h1> \- <h6> 标签来定义的。
<h1>这是一个标题</h1>
<h2>这是一个标题</h2>
<h3>这是一个标题</h3>
html
#### HTML 水平线
<hr> 标签在 HTML 页面中创建水平线。
<p>这是一个段落。</p>
<hr>
<p>这是一个段落。</p>
<hr>
<p>这是一个段落。</p>
html
hr 元素可用于分隔内容。
#### HTML 注释
可以在 HTML 代码中添加注释以便于理解和维护,并且这样做有助于提升代码的可读性。从而使得代码更容易被理解和使用。由于浏览器会忽略这些注释内容因此在运行时不会影响页面显示效果。
<!-- 这是一个注释 -->
html
**注释:** 在开始处的括号后必须紧跟一个感叹号 **!** (英文标点符号),在结束处的前面不需要跟上标点符号;合理应用注释有助于提升代码编辑效率。
#### HTML 段落
HTML 段落是通过标签 <p> 来定义的。
<p>这是一个段落。</p>
<p>这是另外一个段落。</p>
html
**注意:**浏览器会自动地在段落的前后添加空行。(</p> 是块级元素)
#### HTML 折行
如果您希望在不产生一个新段落的情况下进行换行(新行),请使用 <br> 标签
<p>这个<br>段落<br>演示了分行的效果</p>
html
#### HTML 文本格式化
HTML 使用标签 <b>(“bold”) 与 <i>(“italic”) 对输出的文本进行格式, 如:**粗体** or _斜体_
通常采用<strong>标签替代加粗< b > 标签的方式来进行文字加粗处理,而<em>标签则用于替代<i>标签,实现文字斜体显示功能。
然而,这些标记的具体作用各不相同:其中< b > 和< i >分别指定普通粗体和斜体显示效果。<strong>,或者<em>,则表示你希望突出显示的内容更为关键,需要通过特殊的视觉效果来增强其重要性。
如今主流浏览器均支持多种字体效果展示,而未来技术发展将在这一领域可能会有进一步的进步。
<b>这个文本是加粗的</b>
<br />
<strong>这个文本是加粗的</strong>
<br />
<big>这个文本字体放大</big>
<br />
<em>这个文本是斜体的</em>
<br />
<i>这个文本是斜体的</i>
<br />
<small>这个文本是缩小的</small>
<br />
<sub>下标</sub>
<br />
<sup>上标</sup>
<br />
<bdo dir="rtl">该段落文字从右到左显示。</bdo>
<br />
<q>该段文字输出时加上双引号</q>
html

使用 `pre` 标签对空行和空格进行控制。输入换行和空格,在输出时不会变。
<pre>
此例演示如何使用 pre 标签
对空行和 空格
进行控制
</pre>
html
“计算机输出” 标签。这些标签常用于显示计算机/编程代码。
<code>计算机输出</code>
<br />
<kbd>键盘输入</kbd>
<br />
<tt>打字机文本</tt>
<br />
<samp>计算机代码样本</samp>
<br />
<var>计算机变量</var>
html
在 HTML 文件中写地址
<address>
Written by <a href="mailto:webmaster@example.com">Jon Doe</a>.<br>
Visit us at:<br>
Example.com<br>
Box 564, Disneyland<br>
USA
</address>
html
<blockquote> 元素 (或者 HTML 块级引用元素),代表其中的文字是引用内容。
<blockquote>
<p>Life is what happens when you're busy making other plans.</p>
<footer>— John Lennon</footer>
</blockquote>
html
|HTML 文本格式化标签|描述|
|---|---|
|定义粗体文本||
|em|定义着重文字|
|i|定义斜体字|
|small|定义小号字|
|strong|定义加重语气|
|sub|定义下标字|
|sup|定义上标字|
|ins|定义插入字|
|del|定义删除字|
|HTML “计算机输出” 标签|描述|
|---|---|
|code|定义计算机代码|
|kbd|定义键盘码|
|samp|定义计算机代码样本|
|var|定义变量|
|pre|定义预格式文本|
|HTML 引文, 引用, 及标签定义|描述|
|---|---|
|abbr|定义缩写|
|address|定义地址|
|bdo|定义文字方向|
|blockquote|定义长的引用|
|q|定义短的引用语|
|cite|定义引用、引证|
|dfn|定义一个定义项目。|
#### HTML 链接
HTML 链接是通过标签 <a> 来定义的。
href 是 Hypertext Reference 的缩写,表示超文本引用。
默认情况下,链接将以以下形式出现在浏览器中:
* 一个未曾被访问的链接将以蓝色字体形式展示并带有下划线标记。
* 已被访问的链接将采用紫黑色样式呈现并带有下划线。
* 当用户点击某个链接时,在此状态下该链接将呈现红色样式并带有下划线标记。
请特别注意:当为这些超链接设置了 CSS 样式时,其展示样式将依据 CSS 设置进行显示。
用于生成超链接的HTML语言中的核心语法结构及其属性参数包括通过`<a>`标签包裹的内容来实现超链接。
|`<a>`属性|值|描述|
|---|---|---|
|download|_文件名_|规定当用户单击超链接时将下载目标。|
|href|_URL_|规定链接指向的页面的 URL。|
|hreflang|_语言代码_|规定被链接文档的语言。|
|media|_媒体查询_|规定被链接文档是为何种媒介/设备优化的。|
|ping|_URL 列表_|规定以空格分隔的 URL 列表,当链接被访问时,浏览器将发送带有 ping 正文的 POST 请求(在后台发送)。通常用于跟踪。|
| referrerpolicy| no-referrer
no-referrer-when-downgrade
origin
origin-when-cross-origin
same-origin
strict-origin-when-cross-origin
unsafe-url|
规定要与链接一起发送的引用信息。 |
| rel| alternate
author
bookmark
external
help
license
next
nofollow
noreferrer
noopener
prev
search
tag| 规定当前文档和被链接文档之间的关系。 |
| target| _blank
_parent
_self
_top
_framename_| 在新窗口或选项卡中打开链接文档。
在父框架中打开链接文档。
在与点击相同的框架中打开链接的文档(默认)。
在窗口的整个主体中打开链接的文档。
在指定的 iframe 中打开链接文档。
(**规定在何处打开被链接文档。**) |
|type|_媒体类型_|规定被链接文档的媒体类型。|
链接的 HTML 代码很简单,它类似这样:
编辑下面的文本框中的内容:
1. 插入一个 `<a>` 标签元素。
2. 分别添加 `href` 属性与 `title` 属性。
3. 配置 `target` 属性设置为 'blank' ,这样点击链接会跳转到新窗口中。
实时输出
实时输出
<a href="https://www.mozilla.org/" title="The Mozilla homepage" target="_blank">链接文本</a> html
>
>
>
> [链接文本](https://www.mozilla.org/ "The Mozilla homepage")
>
>
_“链接文本”_ 不必一定是文本。图片或其他 HTML 元素都可以成为链接。
**图片引用:**另外一种做法是将图片用作链接标识,在这种情况下图片的某些属性会包裹着其他相关的信息节点。例如,在这样的场景下使用图片引用时,请确保图片的尺寸适中且清晰度高以获得最佳效果。
<a href="https://www.example.com">
<img src="example.jpg" alt="示例图片">
</a>
html
**锚点链接:**除了指向外部网页外,您还可以在同一页面内创建内部链接,这被称为锚点链接。为了创建锚点链接,请在目标位置使用元素定义一个标记,并在其后缀处使用#符号引用该标记。例如:
<a href="#section2">跳转到第二部分</a>
<!-- 在页面中的某个位置 -->
<a name="section2"></a>
html
可点击链接:如果将此链接设置为仅允许本地文件下载而不作为超链结转目标,则可实现文件直接下载
<a href="document.pdf" download>下载文档</a>
html
#### HTML 图像
|标签|描述|
|---|---|
|img|定义图像|
|map|定义图像地图|
|area|定义图像地图中的可点击区域|
<img> 是空标签,意思是说,它只包含属性,并且没有闭合标签。
在网页页面上呈现图片时,请设置src属性;该字段标识为'source'。此属性指定图片文件的位置链接。
>
>
> 1、**图片来源于网络,写绝对路径** :
>
>
<img src="http://static.runoob.com/images/runoob-logo.png" width="300" height="120"/> html
>
>
>
> 2、**图片来源于本地,写相对路径或绝对路径** :
>
>
>
> * **./** :代表文件所在的目录(可以省略不写)如果写成image/background就相当于是在html文件下找image文件夹,当然是找不到的
> * **…/** :代表文件所在的父级目录
> * **…/…/** :代表文件所在的父级目录的父级目录
> * **/** :代表文件所在的根目录
>
> 1. ***.html** 文件跟 ***.jpg** 文件(f盘)在不同目录下:
>
<img src="file:///f:/*.jpg" width="300" height="120"/> html
> > >
2. 图像在image文件夹中存放着.jpg文件,在connage文件夹中存放着.html文件;而image和connage这两个文件夹位于同一个目录下:
> >
<img src="../image/*.jpg/"width="300" height="120"/> html
>
>
**HTML 图像- Alt属性**
alt 属性用来为图像定义一串预备的可替换的文本。
替换文本属性的值是用户定义的。
当网页无法加载图片时,请设置适当的Alt文字描述图片缺失的内容。这时网页会展示这段替代性文字而非图片内容。建议所有页面内的图片均配上Alt文字描述以确保信息完整性。这不仅有助于网页信息的完整呈现而且对依赖纯文本阅读器的用户也非常实用。
> 矩形由其对角顶点坐标(x₁, y₁)至(x₂, y₂)确定
> 圆形具有中心坐标(X₁, Y₁)及半径长度r
> 多边形由依次连接的顶点坐标(x₁, y₁)、(x₂, y₂)、(x₃, y₃)等构成
<map name="planetmap"> <area shape="rect" coords="x1,y1,x2,y2" href=url> <area shape="circle" coords="x1,y1,r" href=url> <area shape="poly" coords="x1,y1,x2,y2 ......" href=url> </map>
>
>
#### HTML 表格
HTML 表格由 **< table>** 标签来定义。
HTML 表格是一种用于展示结构化数据的标记语言元素。
所有表格都包含多个行(由 < tr> 标签界定),每一行划分为多个单元格区域(由 < td> 标签定义),通常包括一个标题行(使用 < th> 标签)来标识各列。
|标签|描述|
|---|---|
|<table>|定义表格|
|<th>|定义表格的表头。th 是 table header的缩写。大多数浏览器会把表头显示为粗体居中的文本。|
|<tr>|定义表格的行。tr 是 table row 的缩写|
|<td>|定义表格单元。td 是 table data 的缩写|
|<caption>|定义表格标题。可用于为整个表格定义标题。|
|<colgroup>|定义表格列的组|
|<col>|定义用于表格列的属性|
|<thead>|定义表格的页眉。在|
|元素定义列的标题||
|<tbody>|定义表格的主体。在|
|元素定义单元格数据||
|<tfoot>|定义表格的页脚。可用于在表格的底部定义摘要、统计信息等内容。|
中,使用 中,使用 元素定义行,并在每行中使用
>
>
> <table> 标签常用属性:
>
>
border="1" 表格边框的宽度 bordercolor="#fff" 表格边框的颜色 cellspacing="5" 单元格之间的间距 width="500" 表格的总宽度 height="100" 表格的总高度 align="right" 表格整体对齐方式 (参数有 left、center、right) bgcolor="#fff" 表格整体的背景色 html
>
>
>
> <tr> 标签的常用属性:
>
>
bgcolor="#fff" 行的颜色 align="right" 行内文字的水平对齐方式 (参数有left、center、right) valign="top" 行内文字的垂直对齐方式 (参数有top、middle、bottom) html
>
>
>
> <td>、<th> 标签的常用属性:
>
>
width="500" 单元格的宽度,设置后对当前一列的单元格都有影响 height="100" 单元格的高度,设置后对当前一行的单元格都有影响 bgcolor="fff" 单元格的背景色 align="right" 单元格文字的水平对齐方式 (参数left、center、right) rowspan="3" 合并垂直水平方向的单元格 colspan="3" 合并水平方向单元格 valign="top" 单元格文字的垂直对齐方式 (参数middle、bottom、top) html
>
>
数据单元格可以包含文本、图片、列表、段落、表单、水平线、表格等等。
>
>
> HTML 表格生成器:https://www.jyshare.com/front-end/7688/。
>
>
>
>
> 以下是一个简单的 HTML 表格实例:
>
>
<table border="1" cellpadding="10" width="100%" > <caption>My Table</caption> <thead> <colgroup> <col span="2" style="background-color:red"> <col style="background-color:yellow"> </colgroup> <tr> <th>列标题1</th> <th>列标题2</th> <th>列标题3</th> <th>列标题4</th> </tr> </thead> <tbody> <tr> <td>行1,列1</td> <td>行1,列2</td> <td>行1,列3</td> <td>行1,列4</td> </tr> <tr> <td>行2,列1</td> <td>行2,列2</td> <td>行2,列3</td> <td>行2,列4</td> </tr> </tbody> </table> html 
此表格 | 栏项1 | 栏项2 | 栏项3 | 栏项4
>
>
> 课程表实例
>
>
<h4 style="text-align:center">课程表</h4> <table border="1" cellpadding="10" width="100%"> <tr> <th colspan="2">时间\日期</th> <th>一</th> <th>二</th> <th>三</th> <th>四</th> <th>五</th> </tr> <tr> <th rowspan="2">上午</th> <th>9:30-10:15</th> <th>语文</th> <th>语文</th> <th>语文</th> <th>语文</th> <th>语文</th> </tr> <tr> <th>10:25-11:10</th> <th>语文</th> <th>语文</th> <th>语文</th> <th>语文</th> <th>语文</th> </tr> <tr> <th colspan="7"></th> </tr> <tr> <th rowspan="2">下午</th> <th>14:30-15:15</th> <th>语文</th> <th>语文</th> <th>语文</th> <th>语文</th> <th>语文</th> </tr> <tr> <th>15:25-16:10</th> <th>语文</th> <th>语文</th> <th>语文</th> <th>语文</th> <th>语文</th> </tr> </table> html 
>
>
>
> ##### 课程表
>
>
>
> | 时间\日期| 一| 二| 三| 四| 五 |
> |---|---|---|---|---|---|
> | 上午| 9:30-10:15| 语文| 语文| 语文| 语文| 语文 |
> | 10:25-11:10| 语文| 语文| 语文| 语文| 语文 |
> | |
> | 下午| 14:30-15:15| 语文| 语文| 语文| 语文| 语文 |
> | 15:25-16:10| 语文| 语文| 语文| 语文| 语文 |
>
>
#### HTML 列表
|标签|描述|
|---|---|
|<ol>|定义有序列表|
|<ul>|定义无序列|
|<li>|定义列表项|
|<dl>|定义列表|
|<dt>|自定义列表项目|
|<dd>|定义自定列表项的描述|
有序列表由一组项目构成,在其前后分别包含编号以实现顺序展示功能。 有序列表起始标志为<ol>标签,在其中每一个条目都应以< li >标签包裹起始标识符
列表项使用数字来标记。
<h4>编号列表:</h4>
<ol>
<li>Apples</li>
<li>Bananas</li>
<li>Lemons</li>
<li>Oranges</li>
</ol>
<h4>大写字母列表:</h4>
<ol type="A">
<li>Apples</li>
<li>Bananas</li>
<li>Lemons</li>
<li>Oranges</li>
</ol>
<h4>小写字母列表:</h4>
<ol type="a">
<li>Apples</li>
<li>Bananas</li>
<li>Lemons</li>
<li>Oranges</li>
</ol>
<h4>罗马数字列表:</h4>
<ol type="I">
<li>Apples</li>
<li>Bananas</li>
<li>Lemons</li>
<li>Oranges</li>
</ol>
<h4>小写罗马数字列表:</h4>
<ol type="i">
<li>Apples</li>
<li>Bananas</li>
<li>Lemons</li>
<li>Oranges</li>
</ol>
html

无序列表是一种项目的清单,该系列条目使用加粗符号表示(典型的椭圆形符号)进行标记.
无序列表使用 <ul> 标签
<p><b>注意:</b> 在 HTML 4中 ul 属性已废弃,HTML5 已不支持该属性,因此我们使用 CSS 代替来定义不同类型的无序列表如下:</p>
<h4>圆点列表:</h4>
<ul style="list-style-type:disc">
<li>Apples</li>
<li>Bananas</li>
<li>Lemons</li>
<li>Oranges</li>
</ul>
<h4>圆圈列表:</h4>
<ul style="list-style-type:circle">
<li>Apples</li>
<li>Bananas</li>
<li>Lemons</li>
<li>Oranges</li>
</ul>
<h4>正方形列表:</h4>
<ul style="list-style-type:square">
<li>Apples</li>
<li>Bananas</li>
<li>Lemons</li>
<li>Oranges</li>
</ul>
html

嵌套列表
<h4>嵌套列表1:</h4>
<ul>
<li>Coffee</li>
<li>Tea
<ul>
<li>Black tea</li>
<li>Green tea</li>
</ul>
</li>
<li>Milk</li>
</ul>
html

<h4>嵌套列表2:</h4>
<ul>
<li>Coffee</li>
<li>Tea
<ul>
<li>Black tea</li>
<li>Green tea
<ul>
<li>China</li>
<li>Africa</li>
</ul>
</li>
</ul>
</li>
<li>Milk</li>
</ul>
html

自定义列表不仅仅是一列项目,而是项目及其注释的组合。
自定义列表基于 <dl> 标签的构造。每个自定义列表项由 <dt> 标签构成项,并在其内部使用 <dd> 标签来描述条目
<dl>
<dt>Coffee</dt>
<dd>- black hot drink</dd>
<dt>Milk</dt>
<dd>- white cold drink</dd>
</dl>
html
#### HTML 区块
HTML 可以通过 <div> 和 <span>将元素组合起来。
|HTML 分组标签|描述|
|---|---|
|<div>|定义了文档的区域,块级 (block-level)|
|<span>|用来组合文档中的行内元素, 内联元素(inline)|
**区块元素**
大多数 HTML 元素被定义为**块级元素** 或**内联元素** 。
块级元素在浏览器显示时,通常会以新行来开始(和结束)。
实例: <h1>, <p>, <ul>, <table>
**内联元素**
内联元素在显示时通常不会以新行开始。
实例: <b>, <td>, <a>, <img>
**< div> 元素**
HTML <div> 元素是块级元素,它可用于组合其他 HTML 元素的容器。
<div> 元素不具有特定的功能或用途。值得注意的是,在HTML文档中该HTML元素通常会在其前后部分展示内容分隔符
如果与 CSS 一同使用,<div> 元素可用于对大的内容块设置样式属性。
<div> 另一个主要用途是用于文档布局。<table> 元素被替代为不再使用表格定义布局的传统方式。</table><div> 正确的方法并非利用 <table> 元素进行文档布局。</div><div class="content">该元素的功能旨在呈现组织化的数据。</div>
**< span> 元素**
HTML <span> 元素是内联元素,可用作文本的容器
<span> 元素也没有特定的含义。
当与 CSS 一同使用时,<span> 元素可用于为部分文本设置样式属性。
#### HTML 样式 - CSS
CSS (Cascading Style Sheets) 用于渲染HTML元素标签的样式。
CSS 是在 HTML 4 开始使用的,是为了更好的渲染HTML元素而引入的.
CSS 可以通过以下方式添加到HTML中:
* 内联样式定义:借助HTML元素内部的`style`属性进行样式定义。
* 内部样式表通常位于`<head>`区域,并借助`<style>`标签来定义CSS。
* 外部引用通常通过外部CSS文件实现。
最好的方式是通过外部引用CSS文件.
使用 CSS 的主要优势在于将代码存放在外部样式表中后,网站维护将更加容易。只需修改一个文件内容即可实现所有页面布局的调整。
|HTML 样式标签|描述||
|---|---|---|
|<style>|定义文本样式||
|<link>|定义资源引用地址||
|<font>, <center>, <strike>|color 和 bgcolor|不建议使用的标签和属性|
**内联样式**
当特殊的样式需要应用到个别元素时,就可以使用内联样式。
使用内联样式的方法是在相关的标签中使用样式属性。
样式属性可以包含任何 CSS 属性。
以下实例显示出如何改变段落的颜色和左外边距。
<p style="color:blue;margin-left:20px;">这是一个段落。</p>
html
这是一个段落。
>
>
> **背景颜色**
>
>
>
> 背景色属性(background-color)定义一个元素的背景颜色
>
>
<body style="background-color:yellow;"> <h2 style="background-color:red;">这是一个标题</h2> <p style="background-color:green;">这是一个段落。</p> </body> html
可以通过以下方式设置:样式包括字体家族、颜色以及字号等参数
可以通过以下方式设置:通过指定 font-family 属性选择字体家族,
使用 color 属性设定文字颜色,
以及应用 font-size 属性来调节字号等参数
<h1 style="font-family:verdana;">一个标题</h1> <p style="font-family:arial;color:red;font-size:20px;">一个段落。</p> <a href="http://www.runoob.com/" style="text-decoration:none;">无下划线链接</a> html
通过text-align属性为文档中的文本内容在水平方向和垂直方向设定对齐模式
<h1 style="text-align:center;">居中对齐的标题</h1> <p>这是一个段落。</p> html
>
>
**内部样式表**
如果需要为单个文件特别定制样式时,则可以通过内部样式表来实现。在<head>的位置上使用<start tag>标签即可通过<start tag>来定义内部样式表。
<head>
<style type="text/css">
body {background-color:yellow;}
p {color:blue;}
</style>
</head>
html
**外部样式表**
在样式需在多个页面上应用时,采用外部样式表方案将被视为最佳方案。如果采用这一方案,则只需修改单个文件即可实现对整个网站外观的整体调整。
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
html
#### HTML 布局
大多数网站会把内容安排到多个列中(就像杂志或报纸那样)。
通常情况下,网站会基于 div 或 table 元素来构建多列布局。CSS 主要用于实现元素的位置布局,并为页面提供背景色以及色彩丰富的界面设计。
**使用 <div> 元素**
div 元素是用于分组 HTML 元素的块级元素。
下面的例子使用多个 div 元素来创建多列布局
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Demo</title>
</head>
<body>
<div id="maxname" style="width:500px;">
<div id="hname" style="background-color:#666FFF;">
<h1 style="margin-bottom:0;text-align:center;">Div布局实例</h1>
</div>
<div id="menu" style="background-color:#FFFFFF;height:200px;width:100px;float:left;">
菜单<br/>
num1<br/>
num2<br/>
num3
</div>
<div id="content" style="background-color:#FFFF00;height:200px;width:300px;float:left;">
中间内容
</div>
<div id="right" style="background-color:#000000;color:#FFFFFF;height:200px;width:100px;float:right;">
信息内容
</div>
<div id="bool" style="background-color:#F0F8FF;clear:both;text-align:center;">
作者:Cty
</div>
</div>
</body>
</html>
html

**使用表格**
使用 HTML <table> 标签是创建布局的一种简单的方式。
很多网站可以选择<div>标签或<table>标签来构建多列布局。CSS技术则负责对元素进行定位,并且能够生成背景图案,并提供色彩丰富的外观效果。
尽管能够通过HTML表格搭建出精美的界面设计,
然而其主要目标在于展示结构化的数据内容,
并明确指出:表格式工具并非用于布局的设计。
此案例中采用包含三行两列的表格布局 - 前导行及末尾行采用了 colspan属性以跨越多列:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>aaa</title>
</head>
<body>
<table width="500" border="0">
<tr>
<td colspan="2" style="background-color:#FFA500;">
<h1>主要的网页标题</h1>
</td>
</tr>
<tr>
<td style="background-color:#FFD700;width:100px;">
<b>菜单</b><br>
HTML<br>
CSS<br>
JavaScript
</td>
<td style="background-color:#eeeeee;height:200px;width:400px;">
内容在这里</td>
</tr>
<tr>
<td colspan="2" style="background-color:#FFA500;text-align:center;">
版权 © runoob.com</td>
</tr>
</table>
</body>
</html>
html

#### HTML 表单
HTML 表单用于收集用户的输入信息。
HTML 表单标识文档中的一个区域,在此区域内嵌入交互控件元素,并将收集的用户信息传输至Web服务器
HTML 表单通常包含各种输入字段、复选框、单选按钮、下拉列表等元素。
|标签|描述|
|---|---|
|<form>|定义供用户输入的表单|
|<input>|定义输入域|
|<textarea>|定义文本域 (一个多行的输入控件)|
|<label>|定义了 元素的标签,一般为输入标题|
|<fieldset>|定义了一组相关的表单元素,并使用外框包含起来|
|<legend>|定义了 元素的标题|
|<select>|定义了下拉选项列表|
|<optgroup>|定义选项组|
|<option>|定义下拉列表中的选项|
|<button>|定义一个点击按钮|
|<datalist>|指定一个预先定义的输入控件选项列表|
|<keygen>|定义了表单的密钥对生成器字段|
|<output>|定义一个计算结果|
表单是一个包含表单元素的区域。
form elements are designed to allow users to input information within a form, such as text fields (textarea), dropdown lists (select), radio buttons (radio-buttons), checkboxes (checkbox), etc.
我们可以使用 ****标签来创建表单:
<form>
input 元素
</form>
html
**文本域(Text Fields)**
采用****标签来设置。当用户需要在表单中输入文字、数字或其他字符时,则会用到文本域。
**提示:**form字段通常隐藏起来。同时,在标准浏览器中,在text input字段的默认宽度设置为20 characters。
<form>
First name: <input type="text" name="firstname"><br>
Last name: <input type="text" name="lastname">
</form>
html
**密码字段**
密码字段通过标签 ****来定义:
<form>
Password: <input type="password" name="pwd">
</form>
html
**单选按钮(Radio Buttons)**
****标签定义了表单的单选框选项:
<form action="">
<input type="radio" name="sex" value="male">男<br>
<input type="radio" name="sex" value="female">女
</form>
html
**复选框(Checkboxes)**
****定义了复选框。
复选框可以选取一个或多个选项:
<form>
<input type="checkbox" name="vehicle" value="Bike">我喜欢自行车<br>
<input type="checkbox" name="vehicle" value="Car">我喜欢小汽车
</form>
html
**提交按钮(Submit)**
****定义了提交按钮。
当用户点击确认按钮时, 表单的内容会被发送至服务器. 表单的动作属性 **action** 指定了服务端的文件名.
**action** 属性会对接收到的用户输入数据进行相关的处理:
<form name="input" action="html_form_action.php" method="get">
Username: <input type="text" name="user">
<input type="submit" value="Submit">
</form>
html
method 属性,它用于定义表单数据的提交方式,可以是以下值:
* **post** :该方法指 HTTP POST 方法,在线性集成表单中的字段数据会被整合到请求体中并发送至服务器端 station 用于传输敏感信息如账号信息或个人认证信息等。
* **get** :默认情况下此方法指 HTTP GET 方法,在线程中的字段数据会被整合到 URL 的 action 属性中并以 :? 分隔符分隔一般用于传输非敏感信息如页面导航或搜索参数等例如:http://localhost:8080/?user=张三
<!-- 以下表单使用 GET 请求发送数据到当前的 URL,method 默认位 GET。 -->
<form>
<label>Name:
<input name="submitted-name" autocomplete="name">
</label>
<button>Save</button>
</form>
<!-- 以下表单使用 POST 请求发送数据到当前的 URL。 -->
<form method="post">
<label>Name:
<input name="submitted-name" autocomplete="name">
</label>
<button>Save</button>
</form>
<!-- 表单使用 fieldset, legend, 和 label 标签 -->
<form method="post">
<fieldset>
<legend>Title</legend>
<label><input type="radio" name="radio"> Select me</label>
</fieldset>
</form>
html

以下是简单的HTML表单的例子:
<form action="/" method="post">
<!-- 文本输入框 -->
<label for="name">用户名:</label>
<input type="text" id="name" name="name" required>
<br>
<!-- 密码输入框 -->
<label for="password">密码:</label>
<input type="password" id="password" name="password" required>
<br>
<!-- 单选按钮 -->
<label>性别:</label>
<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="subscribe" name="subscribe" checked>
<label for="subscribe">订阅推送信息</label>
<br>
<!-- 下拉列表 -->
<label for="country">国家:</label>
<select id="country" name="country">
<option value="cn">CN</option>
<option value="usa">USA</option>
<option value="uk">UK</option>
</select>
<br>
<!-- 提交按钮 -->
<input type="submit" value="提交">
</form>
html

<!--带边框的表单-->
<form action="">
<fieldset>
<legend>Personal information:</legend>
Name: <input type="text" size="30"><br>
E-mail: <input type="text" size="30"><br>
Date of birth: <input type="text" size="10">
</fieldset>
</form>
html
<!--下拉列表-->
<!--标有selected为预选-->
<form action="">
<select name="cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat" selected>Fiat</option>
<option value="audi">Audi</option>
</select>
</form>
html

<!--触发按钮-->
<form action="">
<input type="button" value="Hello world!">
</form>
html
#### HTML 框架
**设置高度与宽度**
height 和 width 属性用来定义iframe标签的高度与宽度。
属性默认以像素为单位, 但是你可以指定其按比例显示 (如:“80%”)。
**移除边框**
frameborder 属性用于定义iframe表示是否显示边框。
<iframe src="https://www.baidu.com" name="iframe_a" width="200" height="500" frameborder="0"></iframe>
html
#### HTML 颜色
HTML 颜色使用十六进制符号来表示,其中该十六进制符号由红色(R)、绿色(G)和蓝色(B)三个分量组成,并称为 RGB。
每种颜色的最小值是0(十六进制:#00)。最大值是255(十六进制:#FF)。
三种颜色 红,绿,蓝的组合从0到255,一共有1600万种不同颜色(256 x 256 x 256)。
这个表格给出了由三种颜色混合而成的具体效果:
|颜色(Color)|颜色十六进制(Color HEX)|颜色RGB(Color RGB)|
|---|---|---|
|#000000|rgb(0,0,0)||
|#FF0000|rgb(255,0,0)||
|#00FF00|rgb(0,255,0)||
|#0000FF|rgb(0,0,255)||
|#FFFF00|rgb(255,255,0)||
|#00FFFF|rgb(0,255,255)||
|#FF00FF|rgb(255,0,255)||
|#C0C0C0|rgb(192,192,192)||
|#FFFFFF|rgb(255,255,255)||
RGBA 表示为Red, Green, Blue, Alpha四个通道。它是RGB颜色空间中新增了一个**alpha**通道的技术。其取值范围为0到1,在数值为0时完全不透明。
在HTML与CSS的颜色规范中定义了共17种标准色与另外124种非标准色
>
>
> [HTML颜色名称 | 菜鸟资源库(runoob.com)](https://www.runoob.com/html/html-colornames.html)
>
>
#### HTML 脚本标签
|标签|描述|
|---|---|
|<script>|定义了客户端脚本|
|<noscript>|定义了不支持脚本浏览器输出的文本|
#### HTML 字符实体
HTML 中的预留字符必须被替换为字符实体。
一些在键盘上找不到的字符也可以使用字符实体来替换。
为了准确地呈现预留的字符信息,在 HTML 源代码中必须将它们表示为字符实体(CE)。
|显示结果|描述|实体名称|实体编号|
|---|---|---|---|
|空格| |||
|<|小于号|<|<|
|>|大于号|>|>|
|&|和号|&|&|
|"|引号|"|"|
|’|撇号|' (IE不支持)|'|
|¢|分|¢|¢|
|£|镑|£|£|
|¥|人民币/日元|¥|¥|
|€|欧元|€|€|
|§|小节|§|§|
|©|版权|©|©|
|®|注册商标|®|®|
|™|商标|™|™|
|×|乘号|×|×|
|÷|除号|÷|÷|
虽然 html 不区分大小写,但实体字符对大小写敏感。
**结合音标符**
发音符号是加到字母上的一个"glyph(字形)"。
一些变音符号, 如 尖音符 ( ̀) 和 抑音符 ( ́) 。
变音符号可以出现字母的上面和下面,或者字母里面,或者两个字母间。
变音符号可以与字母、数字字符的组合来使用。
|音标符|字符|Construct|输出结果|
|---|---|---|---|
|̀|a|à|à|
|́|a|á|á|
|̂|a|â|â|
|̃|a|ã|ã|
|̀|O|Ò|Ò|
|́|O|Ó|Ó|
|̂|O|Ô|Ô|
|̃|O|Õ|Õ|
**不间断空格(Non-breaking Space)**
HTML 中的常用字符实体是不间断空格( )。
HTML页面中的空格总会被浏览器截断。当文本中包含10个连续的空格时,在页面预览阶段,这些空格会被减少为一个.如欲在页面上显示更多间距,则必须采用 Unicode字符实体.
>
> 起比用数字而言, 使用实体名的优点在于其易于记忆性。
> 不过, 缺点在于, 浏览器并不总是支持所有实体名称(尽管它们对于数字依然支持得较好)。
>
#### HTML 统一资源定位器(Uniform Resource Locators — URL )
URL 是一个网页地址。
URL通常由字母构成,并非仅限于字母组合的形式;例如"runoob.com"这样的域名结构也可采用互联网协议(IP)地址形式表示为192.68.20.50等数值标识符。大多数用户访问网站时倾向于使用域名而非直接输入复杂的数字组合以提高记忆效率
Web浏览器通过URL从Web服务器请求页面。
当您在 HTML 页面中 点击 某个 链接时, 该 链接 对应的 标签 指向 网络 上的一个 地址。
一个统一资源定位器(URL) 用于定位万维网上的文档。
>
>
> **scheme`://`host.domain`:`port`/`path`/`filename**
>
>
>
> 说明:
>
>
>
> *
> * scheme - 定义因特网服务的类型。最常见的类型是 http
> * host - 定义域主机(http 的默认主机是 www)
> * domain - 定义因特网域名,比如 runoob.com
> * :port - 定义主机上的端口号(http 的默认端口号是 80)
> * path - 定义服务器上的路径(如果省略,则文档必须位于网站的根目录中)。
> * filename - 定义文档/资源的名称
>
>
|常见的 URL Scheme|访问|用于…|
|---|---|---|
|http|超文本传输协议|以 http:// 开头的普通网页。不加密。|
|https|安全超文本传输协议|安全网页,加密所有信息交换。|
|ftp|文件传输协议|用于将文件下载或上传至网站。|
|file|您计算机上的文件。||
#### URL 字符编码
URL 只能使用 [ASCII 字符集](https://www.runoob.com/tags/html-ascii.html).
通过互联网发送。通常会包含非ASCII字符的URL地址会导致问题,因此必须将其转换为有效的ASCII格式以确保正常传输。
URL 编码使用 “%” 其后跟随两位的十六进制数来替换非 ASCII 字符。
URL 不能包含空格。URL 编码通常使用 + 来替换空格。
