9
0
0

Markdown 入门教程

2026-08-27
2026-08-27

前言:Markdown 是一种轻量级标记语言,语法简洁、易读易写,兼容所有笔记软件、博客、文档平台(GitHub、掘金、知乎、语雀、Typora、VS Code 等)。无需复杂排版,纯文本即可生成美观的格式化文档,是程序员、学生、办公人员必备技能。

目前主流有两套体系:CommonMark(标准基础规范)GFM (GitHub Flavored Markdown,最广泛的扩展,表格、删除线、任务列表)。部分高级功能(脚注、数学公式、图表)属于扩展语法,不同编辑器 / 平台支持程度不一样。

Markdown

标题

两种写法:ATX 风格(最常用)、Setext 下划线风格。

ATX 风格(#,1‑6 级)

#后面必须跟一个空格#数量代表标题级别,最多 6 级。

# 一级大标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

Setext 下划线标题(一级、二级)

在文字下方使用等号、减号做下划线。

这是一级标题
=============

这是二级标题
-------------

提示:标题前后建议保留空行,避免和其他块元素解析错乱CommonMark

2. 段落、换行、空行

  1. 新段落:两段文字中间插入一整行空白行,仅回车不会生成新段落。

第一段文字,属于第一个段落。

这是全新的第二个段落。
  1. 同一段落强制软换行:行末尾输入两个空格再回车;部分平台支持 <br> 标签换行。

第一行内容。  
第二行,同一自然段,没有分段。

注意:单纯敲一次回车,大部分解析器不会换行,会合并为同一行文本。

3. 文本行内样式

**粗体文字**
__粗体文字__

*斜体文字*
_斜体文字_

***粗斜体同时生效***
___粗斜体同时生效___

~~删除线文字~~

渲染效果:

粗体文字

粗体文字

斜体文字

斜体文字

粗斜体同时生效

粗斜体同时生效

删除线文字

删除线 ~~ 属于 GFM 扩展语法,基础 CommonMark 不支持。

4. 列表

无序列表

标记符号:-*+,符号后面必须加空格。

- 项目A
- 项目B
- 项目C

* 项目1
* 项目2

+ 条目一
+ 条目二

有序列表

数字 + 英文句号 .;也可以使用数字 + 右括号 )

输出的序号会自动重新计算,原始写的数字不决定最终展示序号。

1. 第一步
2. 第二步
3. 第三步

1) 第一项
2) 第二项

嵌套列表

子列表需要缩进 2‑4 个空格,推荐 2 空格。

- 大类一
  - 子项1
  - 子项2
    - 更深一层子项
- 大类二

紧凑列表 / 松散列表

  • 紧凑列表(tight):列表项之间没有空行,渲染后内部没有段落间距。

- 苹果
- 香蕉
- 橘子
  • 松散列表(loose):列表项之间有空行,每一项会被包裹段落,上下间距会变大。

- 苹果

- 香蕉

- 橘子

只要任意两个列表项中间有空行,整个列表就变成松散列表,排版间距会改变。

5. 块引用

使用 > 符号,符号后建议跟空格。支持多层嵌套引用。

> 这是一级引用文本
> 可以写多行

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

这是一级引用文本

可以写多行

嵌套第二层引用

嵌套第三层引用

引用内部可以继续写标题、列表、粗斜体等全部 Markdown 语法。

6. 分割线

单独占一整行,输入三个及以上 - / * / _。前后最好保留空行。

---

***

___

7. 链接

基础内联链接

格式:[链接显示文字](链接地址 "可选鼠标悬浮提示标题")

[百度](https://www.baidu.com)

[百度](https://www.baidu.com "访问百度首页")

相对路径链接(本地文档)

[阅读上一章](./chapter01.md)
[返回首页](../index.md)

自动链接

尖括号包裹网址、邮箱,无需写显示文本,自动转为超链接。

<https://www.baidu.com>
<example@mail.com>

参考式链接(适合文档多处重复引用同一个地址)

正文写简写标记,文档任意位置定义真实链接地址,便于统一维护。

访问[百度][baidu],访问[谷歌][google]。

[baidu]: https://www.baidu.com "百度"
[google]: https://www.google.com

8. 图片

格式:![图片替代文字](图片地址 "悬浮标题")

替代文字(alt):图片加载失败时展示,用于无障碍阅读。

  • 图片地址可以是网络 URL,也可以是本地相对路径 ./assets/cat.jpg

  • 部分平台支持指定图片尺寸,属于扩展语法,不是标准。

9. 表格(GFM 扩展)

标准 CommonMark 没有表格,GitHub、大部分博客、笔记软件支持此扩展。

| 姓名 | 年龄 | 城市 |
|------|------|------|
| 张三 | 22 | 北京 |
| 李四 | 25 | 上海 |

控制对齐方式,在分隔行使用冒号:

| 左对齐 | 居中对齐 | 右对齐 |
|:-------|:--------:|--------:|
| 内容1 | 内容2 | 内容3 |
| A | B | C |
  • :在左边:左对齐

  • :左右两边都有:居中

  • :在右边:右对齐

最外侧竖线可以省略,但是建议写上,原始文本可读性更好。单元格内部可以写粗体、行内代码。

10. 代码:行内代码、代码块

行内代码

单个反引号 ` 包裹,适合短代码、命令、变量。

使用 `print("hello")` 输出内容。
变量 `name` 用于存储用户名。

围栏代码块(Fenced code block)

三个反引号 ``` 包裹,可以在开头标记语言名称,用于语法高亮。

```plaintext
纯文本,不做语法高亮
第一行
第二行
```
```javascript
function sayHello(){
  console.log("Hello World");
}
sayHello();
```
```python
def hello():
    print("Hello")
hello()
```

⚠️注意:部分高亮解析器不识别 plain,纯文本统一写 plaintext,避免解析报错。

常用语言标识:javascriptpythonhtmlcssjsonyamlbashsqlplaintext

缩进代码块(旧写法)

4 个空格或者 1 个制表符缩进,整段会被识别为代码块,不支持指定语言,不推荐优先使用。

    第一行代码
    第二行代码

11. GFM 扩展语法

GFM = GitHub Flavored Markdown,绝大多数现代博客、笔记、代码平台都支持。

任务列表(勾选框)

- [x] 已经完成的任务
- [ ] 待完成任务
- [x] 完成文档撰写
- [ ] 校对全文
  • 已经完成的任务

  • 待完成任务

  • 完成文档撰写

  • 校对全文

12. 扩展高级语法

不属于标准 CommonMark/GFM,需要编辑器、插件支持,部分平台会直接忽略不渲染

脚注

Markdown 的创建者是 John Gruber[^author]。

[^author]: John Gruber,2004年发布 Markdown。

脚注标记可以是数字、单词,不能带空格;脚注定义写在文档任意位置,通常放在文末。

定义列表(Pandoc/MultiMarkdown 扩展)

CPU
: 中央处理器,计算机运算核心

GPU
: 图形处理器,负责图像并行计算

数学公式(需要 KaTeX / MathJax 插件)

行内公式(嵌入行文字中间)

markdown

质能方程 $E=mc^2$。

块级独立公式,单独成行

$$
\sum_{i=1}^{n} x_i
$$

Mermaid 流程图(图表渲染插件)

```mermaid
graph TD
A[开始] --> B{判断}
B -->|是| C[执行]
B -->|否| D[结束]
```

文本高亮(部分扩展)

==被高亮的文字==

13. HTML 原生混用

Markdown 支持直接嵌入部分 HTML 标签,可以实现 Markdown 做不到的效果。

<div align="right">这段文字右对齐</div>

<br>

<details>
<summary>点击展开查看详情</summary>
这里是折叠内部的内容
</details>

注意:部分安全严格的平台会过滤掉 HTML 标签,此时 HTML 代码直接原样显示。

14. 转义字符

如果想要原样输出 * # [ ` 这些 Markdown 标记符号,在符号前面加反斜杠 \

\* 这一段不会变成斜体
\# 不会解析为标题
\[普通方括号文本\]
\`普通反引号\`
\! 普通感叹号

需要转义的符号清单:

\ ` * _ { } [ ] ( ) # + - . !

15. Front‑Matter 元信息

文档最开头使用 --- 包裹 YAML,多用于博客、文档系统记录标题、标签、日期,普通 Markdown 预览器会直接忽略。

markdown

---
title: Markdown完整教程
author: 作者名
date: 2026‑08‑27
tags: [Markdown,文档]
---

正文从这里开始……

16. 常见踩坑与兼容性说明

  1. 空格坑#-> 标记符号后面必须有空格,少空格会解析失败。

  2. 空行坑:块元素(标题、列表、引用、代码块)之间建议保留空行,避免粘连解析错乱。

  3. 扩展语法差异:表格、任务列表属于 GFM;脚注、公式、Mermaid 属于第三方扩展。复制文档到不同平台,高级语法有可能失效。

  4. 代码块语言名:纯文本优先写 plaintext,不要写 plain,防止高亮插件抛出解析错误。

  5. 列表缩进:嵌套子列表至少 2 空格;空行会改变列表为松散模式,排版间距变化。

  6. HTML 过滤:很多博客、评论系统会直接过滤全部 HTML 标签,折叠、对齐等 HTML 写法会失效。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或者给予支持!

Markdown 入门教程
/archives/markdown-wan-zheng-ru-men-jin-jie-jiao-cheng
作者
fufu大王
发布于
2026-08-27
许可协议
CC BY-NC-SA 4.0

评论

欢迎来到我的博客!