这是一份全面的 Markdown 语法使用指南,旨在帮助您掌握 Markdown 的核心概念和常用语法。

1. 标题 (Headings)

使用 # 号可以创建标题,.支持六级标题。# 的数量表示标题的级别。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 这是一级标题 (H1)
## 这是二级标题 (H2)
### 这是三级标题 (H3)
#### 这是四级标题 (H4)
##### 这是五级标题 (H5)
###### 这是六级标题 (H6)

或者使用 Setext 形式(仅支持一二级标题):

一级标题
========

二级标题
--------

2. 段落和换行 (Paragraphs and Line Breaks)

段落由一个或多个连续的文本行组成,段落之间用一个或多个空行分隔。

1
2
3
这是一个段落。

这是另一个段落。

如果需要在段落内强制换行(创建一个 <br> 标签),可以在行末添加两个或多个空格,然后按回车。

1
2
这是第一行。  
这是强制换行的第二行。

3. 强调 (Emphasis)

Markdown 使用星号 * 和下划线 _ 来表示强调。

  • 斜体 (Italic): 使用一个 *_ 包裹文本。
  • 粗体 (Bold): 使用两个 *_ 包裹文本。
  • 粗斜体 (Bold and Italic): 使用三个 *_ 包裹文本。
  • 删除线 (Strikethrough): 使用两个波浪线 ~~ 包裹文本。
1
2
3
4
*这是斜体*_这也是斜体_
**这是粗体**__这也是粗体__
***这是粗斜体***___这也是粗斜体___
~~这是删除线~~

4. 列表 (Lists)

Markdown 支持有序列表和无序列表。

4.1 无序列表 (Unordered Lists)

使用星号 *、加号 + 或减号 - 作为列表标记:

1
2
3
4
5
6
7
8
9
10
11
* 列表项一
* 列表项二
* 嵌套列表项 2.1
* 嵌套列表项 2.2
* 列表项三

+ 列表项一
+ 列表项二

- 列表项一
- 列表项二

4.2 有序列表 (Ordered Lists)

使用数字加英文句点 . 作为列表标记:

1
2
3
4
5
1. 列表项一
2. 列表项二
1. 嵌套列表项 2.1
2. 嵌套列表项 2.2
3. 列表项三

注意: 列表标记的数字不必按顺序排列,Markdown 会自动生成正确的序号。

4.3 任务列表 (Task Lists)

任务列表允许创建带有复选框的列表。

1
2
3
4
- [x] 已完成的任务
- [ ] 未完成的任务
- [ ] 另一个未完成的任务
- [ ] 子任务

Markdown 支持两种链接方式:行内式和参考式。

链接文本放在方括号 [] 中,URL 放在紧随其后的圆括号 () 中。可以在 URL 后面用引号添加可选的 title 属性。

1
2
3
这是一个 [行内链接](https://www.example.com "示例网站")。
这是一个没有 title 的 [链接](https://www.example.com)。
也可以使用相对路径:[关于页面](/about/)

参考式链接允许您将 URL 定义在文档的其他地方,使文本更易读。

链接文本放在方括号 [] 中,后面跟着另一个方括号,里面是链接的标识符(可以是数字、字母或字符串)。

1
2
3
4
5
6
这是一个 [参考式链接][id]。
你也可以省略标识符,Markdown 会使用链接文本本身作为标识符:[Google][]

然后在文档的其他地方(通常是末尾)定义链接标识符:
[id]: https://www.example.com "可选的 Title"
[google]: https://www.google.com "Google 搜索引擎"

6. 图片 (Images)

插入图片的语法与链接非常相似,只是在前面加一个感叹号 !。同样支持行内式和参考式。

6.1 行内式图片 (Inline Images)

1
![替代文本](https://www.example.com/image.jpg "可选的 Title")

6.2 参考式图片 (Reference Images)

1
2
3
4
![替代文本][logo]

然后在文档的其他地方定义:
[logo]: https://www.example.com/logo.png "网站 Logo"

7. 代码 (Code)

7.1 行内代码 (Inline Code)

使用反引号 ` 包裹代码片段。

1
这是一个 `inline code` 示例。

7.2 代码块 (Code Blocks)

有两种方式创建代码块:

a) 缩进: 使用四个空格或一个制表符缩进代码的每一行。

1
2
这是一个代码块。
可以有多行。

b) Fenced Code Blocks: 使用三个反引号 ````` 或三个波浪线 ~~~ 包裹代码块。可以在开始的反引号后指定代码语言,以实现语法高亮。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
```javascript
function greet(name) {
console.log(`Hello, ${name}!`);
}
greet('World');
```

```python
def hello(name):
print(f"Hello, {name}!")

hello("Markdown")
```

```
这是一个没有指定语言的代码块。
```

8. 表格 (Tables)

使用竖线 | 分隔单元格,使用连字符 - 创建表头分隔线。可以使用冒号 : 控制列的对齐方式。

1
2
3
4
5
| 左对齐标题 | 居中对齐标题 | 右对齐标题 |
| :--------- | :----------: | ---------: |
| 单元格 1 | 单元格 2 | 单元格 3 |
| 单元格 4 | 单元格 5 | 单元格 6 |
| 短文本 | 中等文本 | 非常长的文本 |

渲染效果:

左对齐标题 居中对齐标题 右对齐标题
单元格 1 单元格 2 单元格 3
单元格 4 单元格 5 单元格 6
短文本 中等文本 非常长的文本

9. 块引用 (Blockquotes)

使用大于号 > 标记块引用。可以嵌套使用。

1
2
3
4
5
6
7
> 这是一个块引用。
>
> 它可以包含多个段落。

> 嵌套引用:
>> 第二层引用。
>>> 第三层引用。

块引用内可以包含其他 Markdown 元素,如标题、列表、代码块等。

1
2
3
4
5
6
7
> ## 这是一个在引用中的标题
>
> 1. 列表项一
> 2. 列表项二
>
> ```python
> print("Hello from blockquote!")
1
2
3
4
5
6
7
8
9
10
11
12
13

## 10. 水平分割线 (Horizontal Rules)

在一行中使用三个或更多的星号 `*`、减号 `-` 或下划线 `_` 来创建水平分割线。字符之间可以有空格。

```markdown
---

***

___

* * *

11. 转义字符 (Escaping Characters)

如果你想显示 Markdown 语法中具有特殊含义的字符(例如 *, #, [ 等),可以在字符前添加反斜杠 \ 进行转义。

1
2
3
我想显示一个星号 \* 而不是斜体。
我想显示井号 \# 而不是标题。
我想显示反引号 \` 而不是行内代码。

可转义的字符包括:
\ 反斜杠
` 反引号
* 星号
_ 下划线
{} 花括号
[] 方括号
() 圆括号
# 井号
+ 加号
- 减号 (连字符)
. 英文句点
! 感叹号

12. 内联 HTML (Inline HTML)

Markdown 允许直接在文本中插入 HTML 标签。大多数 HTML 标签都可以直接使用。

1
2
3
4
5
6
7
这是一个 <span style="color:red;">红色</span> 的文本。

<table>
<tr>
<td>这是一个 HTML 表格</td>
</tr>
</table>

注意: 在 HTML 块级元素(如 <div>, <table>, <p> 等)内部,Markdown 语法通常不会被解析。

13. 脚注 (Footnotes)

一些 Markdown 方言(如 GFM - GitHub Flavored Markdown)支持脚注。

使用 [^标识符] 在文本中创建脚注引用,然后在文档的其他地方定义脚注内容 [^标识符]: 脚注内容

1
2
3
4
5
这是一个需要脚注的句子。[^1]
这是另一个需要脚注的地方。[^note]

[^1]: 这是第一个脚注的详细内容。
[^note]: 这是另一个脚注的解释。

14. 定义列表 (Definition Lists)

一些 Markdown 方言支持定义列表。

1
2
3
4
5
6
术语 1
: 定义 1

术语 2
: 定义 2a
: 定义 2b

注意: 脚注和定义列表并非所有 Markdown 解析器都支持,请根据您使用的平台或工具确认其可用性。


希望这份指南能帮助您更好地使用 Markdown!