# Markdown基础语法
# 概述
几乎所有Markdown应用程序都支持John Gruber原始设计文档中概述的基本语法。Markdown处理器之间存在细微的变化和差异-尽可能以内联方式注明。
# 标题
要创建标题,请在文字前面添加#号。#号个数与标题级别相对应。例如,要创建三级标题(<h3>
),请使用三个#号(例如,### 我的标题)。
Markdown | HTML | 输出 |
---|---|---|
# 一级标题 | <h1>一级标题</h1> | 一级标题 |
# 二级标题 | <h2>二级标题</h2> | 二级标题 |
# 三级标题 | <h3>三级标题</h3> | 三级标题 |
# 四级标题 | <h4>四级标题</h4> | 四级标题 |
# 五级标题 | <h5>五级标题</h5> | 五级标题 |
# 六级标题 | <h6>六级标题</h6> | 六级标题 |
# 替代语法
或者,在文本的下一行,为一级标题添加任意数量的==符号,为二级标题添加--符号。
Markdown | HTML | 输出 |
---|---|---|
一级标题 ======= | <h1>一级标题</h1> | 一级标题 |
二级标题 ------------ | <h2>二级标题</h2> | 二级标题 |
# 标题最佳实践
Markdown应用程序在如何处理#号和标题名称之间的空格方面并不一致。为了兼容,请始终在#号和标题名称之间留一个空格。
✅正确做法 | ❌错误做法 |
---|---|
# 一级标题 | #一级标题 |
# 段落
要创建段落,请空出一行用来分隔一行或多行文本。
Markdown | HTML | 输出 |
---|---|---|
我喜欢用Markdown 我现在可以用它格式化我的文档 | <p>我喜欢用Markdown</p> <p>我现在可以用它格式化我的文档</p> | 我喜欢用Markdown 我现在可以用它格式化我的文档 |
# 段落最佳实践
不要用空格或制表符缩进段落。
✅正确做法 | ❌错误做法 |
---|---|
段落前面不要用tab或空格缩进 像这样保持左对齐 | 这样可能会导致格式错误 不要在段前加tab或空格 |
# 换行
若要创建换行符(<br>),请以两个或多个空格结束一行,然后回车。
Markdown | HTML | 输出 |
---|---|---|
这是第一行 这是另一行 | <p>这是第一行<br>这是另一行</p> | 这是第一行 这是另一行 |
# 换行最佳实践
几乎可以在任何Markdown应用程序中使用两个或多个空格(称为“尾随空格”)来换行,但这是有争议的。很难在编辑器中看到空格,而且很多人有意或无意地在每个句子后面都放两个空格。由于这个原因,可能要使用除尾随空格以外的其他东西来换行。幸运的是,几乎每个Markdown应用程序都支持另一个选项:<br> HTML标记。
为了兼容性,请在行尾使用尾随空格或<br> HTML标记。
还有其它两个选项,但我不建议使用。CommonMark和其他几种轻量级标记语言可在行尾键入反斜杠(\),但并非所有Markdown应用程序都支持此功能,因此从兼容性角度来看,这不是一个好选择。至少有两种轻量级标记语言不需要在行尾添加任何内容,只需回车即可创建换行符。
✅正确做法 | ❌错误做法 |
---|---|
第一行后面带两个空格。 这是下一行。 第一行后面带HTML标签<br> 这是下一行。 | 第一行后面带反斜杠\ 这是下一行。 第一行后面什么也不带。 这是下一行。 |
# 强调
可以通过使文本变为粗体或斜体来强调重点。
# 粗体
要加粗文本,请在文字前后添加两个星号或下划线。要加粗一个英文单词的中部,请在字母旁边添加两个星号,不加空格。
Markdown | HTML | 输出 |
---|---|---|
这是**粗体**。 | 这是<strong>粗体</strong> | 这是粗体。 |
这是_粗体_。 | 这是<strong>粗体</strong> | 这是粗体。 |
Love**is**bold | Love<strong>is</strong>bold | Loveisbold |
# 加粗最佳实践
Markdown应用程序在如何处理单词中间的下划线上并不一致。为了兼容,请使用星号将单词中间的粗体突出显示。
✅正确做法 | ❌错误做法 |
---|---|
Love**is**bold | Love__is__bold |
# 斜体
要斜体化文本,请在文本前后添加一个星号或下划线。要斜体突出英文单词的中间部分,请在字母周围添加一个星号,中间不要带空格。
Markdown | HTML | 输出 |
---|---|---|
这是*斜体* | 这是<em>斜体</em> | 这是斜体 |
这是_斜体_ | 这是<em>斜体</em> | 这是斜体 |
A*cat*meow | A<em>cat</em>meow | Acatmeow |
# 斜体最佳实践
Markdown应用程序在如何处理英文单词中间的下划线上并不一致。为了兼容,请使用星号将单词的中间斜体强调。
✅正确做法 | ❌错误做法 |
---|---|
A*cat*meow | A_cat_meow |
# 粗体加斜体
要同时突出显示带有粗体和斜体的文本,请在文本前后添加三个星号或下划线。要加粗并斜体显示英文单词的中间部分,请在字母周围添加三个星号,中间不要带空格。
Markdown | HTML | 输出 |
---|---|---|
这里***非常重要*** | 这里<em><strong>非常重要</strong></em> | 这里非常重要 |
这里___非常重要___ | 这里<em><strong>非常重要</strong></em> | 这里非常重要 |
这里__*非常重要*__ | 这里<em><strong>非常重要</strong></em> | 这里非常重要 |
这里**_非常重要_** | 这里<em><strong>非常重要</strong></em> | 这里非常重要 |
This is really***very***important text. | This is really<strong><em>very</em></strong>important text. | This is reallyveryimportant text. |
# 粗体加斜体最佳实践
Markdown应用程序在如何处理英文单词中间的下划线上并不一致。为了实现兼容性,请使用星号将单词的中间部分加粗并以斜体显示,以进行强调。
✅正确做法 | ❌错误做法 |
---|---|
This is really***very***important text. | This is really___very___important text. |
# 块引用
要创建blockquote,请在段落前面添加>。
> 宅家呗提供Verge3D教学和技术咨询服务。
输出结果为:
宅家呗提供Verge3D教学和技术咨询服务。
# 多个段落的块引用
块引用可以包含多个段落。在段落之间的空白行上添加一个>。
> Verge3D是面向3D设计师的WebGL开发工具。
>
> 宅家呗致力于推广Verge3D,让人人都会Web3D开发。
2
3
输出结果为:
Verge3D是面向设计师的Web3D开发工具。
宅家呗致力于推广Verge3D,让人人都会Web3D开发。
# 嵌套的块引用
块引用可以嵌套。在要嵌套的段落前面添加>>。
> Verge3D是面向设计师的Web3D开发工具。
>
>> 宅家呗致力于推广Verge3D,让人人都会Web3D开发。
2
3
输出结果为:
Verge3D是面向设计师的Web3D开发工具。
宅家呗致力于推广Verge3D,让人人都会Web3D开发。
# 包含其它元素的块引用
块引用可以包含其他Markdown格式的元素。并非所有元素都可以使用-需要进行实验以查看哪些元素有效。
> #### Verge3D应用领域
>
> - 3D产品展示
> - 在线教育
> - 以及*游戏*等领域
>
> Verge3D是社区驱动的。
2
3
4
5
6
7
输出结果为:
# Verge3D应用领域
- 3D产品展示
- 在线教育
- 以及游戏等领域
Verge3D是社区驱动的。
# 列表
可以将项目组织成有序和无序列表。
# 有序列表
要创建有序列表,请在内容项前添加数字和点号。数字不必按数字顺序排列,但列表应以数字开头。
Markdown | HTML | 输出 |
---|---|---|
1. 第一项 2. 第二项 3. 第三项 4. 第四项 | <ol> <li>第一项</li> <li>第二项</li> <li>第三项</li> <li>第四项</li> </ol> | 1. 第一项 2. 第二项 3. 第三项 4. 第四项 |
1. 第一项 1. 第二项 1. 第三项 1. 第四项 | <ol> <li>第一项</li> <li>第二项</li> <li>第三项</li> <li>第四项</li> </ol> | 1. 第一项 2. 第二项 3. 第三项 4. 第四项 |
1. 第一项 8. 第二项 3. 第三项 5. 第四项 | <ol> <li>第一项</li> <li>第二项</li> <li>第三项</li> <li>第四项</li> </ol> | 1. 第一项 2. 第二项 3. 第三项 4. 第四项 |
1. 第一项 2. 第二项 3. 第三项 1. 缩进项 2. 缩进项 4. 第四项 | <ol> <li>第一项</li> <li>第二项</li> <li>第三项 <ol> <li>1.缩进项</li> <li>2.缩进项</li> </ol> </li> <li>第四项</li> </ol> | 1. 第一项 2. 第二项 3. 第三项 1. 缩进项 2. 缩进项 4. 第四项 |
# 无序列表
要创建无序列表,请在内容项前添加中划线(-),星号(*)或加号(+)。缩进一个或多个项目以创建嵌套列表。
Markdown | HTML | 输出 |
---|---|---|
- 第一项 - 第二项 - 第三项 - 第四项 | <ul> <li>第一项</li> <li>第二项</li> <li>第三项</li> <li>第四项</li> </ul> |
|
* 第一项 * 第二项 * 第三项 * 第四项 | <ul> <li>第一项</li> <li>第二项</li> <li>第三项</li> <li>第四项</li> </ul> |
|
+ 第一项 * 第二项 - 第三项 + 第四项 | <ul> <li>第一项</li> <li>第二项</li> <li>第三项</li> <li>第四项</li> </ul> |
|
- 第一项 - 第二项 - 第三项 - 缩进项 - 缩进项 - 第四项 | <ul> <li>第一项</li> <li>第二项</li> <li>第三项 <ul> <li>缩进项</li> <li>缩进项</li> </ul> </li> <li>第四项</li> </ul> |
|
# 在列表中添加元素
要在保留列表连续性的同时在列表中添加另一个元素,请将该元素缩进四个空格或一个制表符,如以下示例所示。
# 添加段落
- 这是第一项
- 这是第二项
这是插入的段落
- 这是第三项
2
3
4
输入结果为:
- 这是第一项
- 这是第二项 这是插入的段落
- 这是第三项
# 添加块引用
- 这是第一项
- 这是第二项
> 这是插入的块引用
- 这是第三项
2
3
4
输出结果为:
- 这是第一项
- 这是第二项
> 这是插入的块引用
- 这是第三项
# 添加代码块
代码块通常缩进四个空格或一个制表符。当它们在列表中时,将它们缩进八个空格或两个制表符。
1. 打开文件
2. 在第21行找到以下代码
<html>
<head>
<title>Test</title>
</head>
3. 修改title为网站名称
2
3
4
5
6
7
8
9
输出结果为:
打开文件
在第21行找到以下代码
<html> <head> <title>Test</title> </head>
修改title为网站名称
# 添加图片
1. 点击左上角图片。
2. 它看起来像这样:

3. 打开购买详情页面。
2
3
4
输出结果为:
- 点击左上角图片。
- 它看起来像这样:
- 打开购买详情页面。
# 代码
要将文本表示为代码,请将其括在反引号(`)中。
Markdown | HTML | 输出 |
---|---|---|
At the command prompt, type `nano`. | At the command prompt, type <code>nano</code>. | At the command prompt, type nano . |
# 转义反引号
如果要表示为代码的单词或短语包含一个或多个反引号,则可以通过将单词或短语用双反引号(``)括起来来进行转义。
Markdown | HTML | 输出 |
---|---|---|
``在Markdown中使用`code`。`` | <code>在Markdown中使用`code`。</code>. | 在Markdown中使用`code`。 |
# 代码块
要创建代码块,请在代码块的每一行缩进至少四个空格或一个制表符。
<div>
<h2>标题</h2>
<p>内容</p>
</div>
2
3
4
输出结果为:
<div>
<h2>标题</h2>
<p>内容</p>
</div>
TIP
注意:要创建不缩行的代码块,请使用受保护的代码块。
# 分割线
要创建分割线,请单独在一行上使用三个或更多星号(***),破折号(---)或下划线(___)。
***
---
_________________
2
3
4
5
输出结果为:
# 分割线最佳实践
为了兼容性,请在分割线之前和之后空一行。
✅正确做法 | ❌错误做法 |
---|---|
分割线之前空一行... --- 分割线之后再空一行 | 没空一行,会变成标题 --- 不要这样做 |
# 链接
要创建链接,请将链接文本括在方括号中(例如[Duck Duck Go]),然后立即在其后加上括号中的URL(例如(https://zjbcool.com))。
我在[宅家呗网](https://zjbcool.com)学习Verge3D课程。
输出结果为:
我在宅家呗网 (opens new window)学习Verge3D课程。
# 添加标题
可以选择为链接添加标题。当用户将鼠标悬停在链接上时,这将显示为工具提示。要添加标题,请将其括在URL后面的括号中。
我在[宅家呗网](https://zjbcool.com "Verge3D教程")学习Verge3D课程。
输出结果为:
我在宅家呗网 (opens new window)学习Verge3D课程。
# 网址和电子邮件地址
要将URL或电子邮件地址快速转换为链接,请将其括在尖括号中。
<https://zjbcool.com>
<287818433@qq.com>
2
3
输出结果为:
https://zjbcool.com (opens new window)
# 格式化链接
为了强调链接,请在方括号和括号之前和之后添加星号。要将链接表示为代码,请在方括号中添加反引号。
我喜欢 **[宅家呗](https://zjbcool.com)**。
我在这里 *[学习Verge3D](https://zjbcool.com/v3d-tutorials/v3d-tutorials.html)*。
学习Markdown[`代码`](#代码)
2
3
4
5
输出结果为:
我在这里 学习Verge3D (opens new window)。
学习Markdown的代码
# 参考式链接 Reference-style
参考式链接是一种特殊的链接,它使URL在Markdown中更易于显示和阅读。参考式链接分为两部分:与文本保持内联的部分以及在文件其他位置的部分,以使文本易于阅读。
# 格式化链接的第一部分
参考式链接的第一部分使用两组括号进行格式设置。第一组方括号包围应显示为链接的文本。第二组括号显示了一个标签,用于指向存储在文档其他位置的链接。
尽管不是必需的,但可以在第一组和第二组支架之间包含一个空格。第二组括号中的标签不区分大小写,可以包含字母,数字,空格或标点符号。
这意味着以下示例格式对于链接的第一部分大致相同:
- [hobbit-hole][1]
- [hobbit-hole][1]
# 格式化链接的第二部分
参考式链接的第二部分使用以下属性设置格式:
- 标签放在方括号中,后面紧跟一个冒号和至少一个空格(例如[label]:)。
- 链接的URL,可以选择将其括在尖括号中。
- 链接的可选标题,可以将其括在双引号,单引号或括号中。
这意味着以下示例格式对于链接的第二部分几乎都是等效的:
[1]: https://en.wikipedia.org/wiki/Hobbit#Lifestyle
[1]: https://en.wikipedia.org/wiki/Hobbit#Lifestyle "Hobbit lifestyles"
[1]: https://en.wikipedia.org/wiki/Hobbit#Lifestyle 'Hobbit lifestyles'
[1]: https://en.wikipedia.org/wiki/Hobbit#Lifestyle (Hobbit lifestyles)
[1]: <https://en.wikipedia.org/wiki/Hobbit#Lifestyle> "Hobbit lifestyles"
[1]: <https://en.wikipedia.org/wiki/Hobbit#Lifestyle> 'Hobbit lifestyles'
[1]: <https://en.wikipedia.org/wiki/Hobbit#Lifestyle> (Hobbit lifestyles)
可以将链接的第二部分放在Markdown文档中的任何位置。有些人将它们放在出现的段落之后,而其他人则将它们放在文档的末尾(例如尾注或脚注)。
# 将各部分放在一起的示例
假设您添加一个URL作为到段落的标准链接,并且在Markdown中看起来像这样:
[Verge3D](https://www.soft8soft.com/3dweb/24 'verge3d')由俄罗斯的soft8soft公司开发,这是个支持Blender、3dsMax、Maya三维资产预览、导出,支持在本地环境下开发,能够一键将3D内容发布网络上的Web3D创作套件。
尽管它可能指向有趣的附加信息,但显示的URL除了增加了阅读难度外,实际上并没有为现有原始文本增加多少。要解决此问题,您可以改成如下格式设置网址:
[Verge3D](1)由俄罗斯的soft8soft公司开发,这是个支持Blender、3dsMax、Maya三维资产预览、导出,支持在本地环境下开发,能够一键将3D内容发布网络上的Web3D创作套件。
[1]:https://www.soft8soft.com/3dweb/24 'verge3d'
2
3
以上两种方式输出的结果是一样的:
Verge3D (opens new window)由俄罗斯的soft8soft公司开发,这是个支持Blender、3dsMax、Maya三维资产预览、导出,支持在本地环境下开发,能够一键将3D内容发布网络上的Web3D创作套件。
链接的HTML为:
<a href='https://www.soft8soft.com/3dweb/24' title='verge3d'>Verge3D</a>
# 链接最佳实践
Markdown应用程序在如何处理URL中间的空格方面并不一致。为了兼容性,请用%20
对所有空格进行URL编码。
✅正确做法 | ❌ 错误做法 |
---|---|
[link](https://www.example.com/my%20great%20page) | [link](https://www.example.com/my great page) |
# 图片
要添加图片,请添加感叹号(!),然后在括号中添加替代文本,并在括号中添加图片资源的路径或URL。可以选择在括号中的URL之后添加标题。

输出结果为:
# 图片链接
要将链接添加到图片,请将图片的Markdown括在方括号中,然后在括号中添加链接。
[](https://zjbcool.com)
输出结果为:
# 转义字符
若要显示原义字符,请在字符前面添加反斜杠(\),否则将用于设置Markdown文档中的文本格式。
\* 没有反斜杠这就是一个无序列表。
输出结果为:
* 没有反斜杠这就是一个无序列表。
# 可转义的字符
可以使用反斜杠转义以下字符。
字符 | 名称 |
---|---|
\ | 反斜杠 |
` | 反引号 |
* | 星号 |
_ | 下划线 |
{} | 大括号 |
[] | 中括号 |
() | 小括号 |
# | 井号 |
+ | 加号 |
- | 减号 |
. | 点 |
! | 感叹号 |
| | 竖线 |
# HTML
许多Markdown应用程序允许在Markdown格式的文本中使用HTML标签。如果您更喜欢某些HTML标记而不是Markdown语法,这将很有帮助。例如,有些人发现将HTML标签用于图像更容易。当需要更改元素的属性(例如指定文本的颜色或更改图像的宽度)时,使用HTML也很有帮助。
要使用HTML,请将标记放置在Markdown格式文件的文本中。
这是**粗体**,这是<em>斜体</em>
输出结果为:
这是粗体,这是斜体
# HTML最佳实践
出于安全原因,并非所有Markdown应用程序都支持Markdown文档中的HTML。如有疑问,请查阅您的Markdown应用程序的文档。某些应用程序仅支持HTML标签的子集。
使用空行将块级HTML元素(如<div>,<table>,<pre>和<p>)与周围的内容分开。尽量不要使标签带有标签或空格缩进-可能会干扰格式。
不能在块级HTML标记内使用Markdown语法。例如,<p>斜体和**粗体**</ p>将不起作用。