Markdown 语法入门:用纯文本写出清晰的文章
写笔记、整理文档或发布博客时,我们经常需要标题、列表、链接和代码块。Markdown 用少量符号表达这些结构,让你在纯文本里完成排版:源文件容易阅读,渲染后也能呈现清晰的层次。
这篇文章从最常用的语法讲起。你可以把示例复制到 Markdown 编辑器里,对照预览查看效果。Markdown 文件通常使用 .md 扩展名。
1. 标题:用井号划分层次
在一行开头写上 #,再加一个空格,就能创建标题。井号的数量对应标题级别,最多六级。
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
一篇文档通常用一级标题表示主题,二级标题划分章节,三级标题细分内容。不要仅仅为了让字变小而跳过层级,标题首先表达的是文章结构。
如果博客模板已经把文章标题显示为一级标题,正文从二级标题开始即可,这篇文章就是这样写的。
2. 段落与换行:空一行很重要
两个段落之间留一个空行:
这是第一段,可以包含多个句子。
这是第二段。
只按一次回车,通常仍然属于同一个段落,不一定产生可见的换行。有些平台会改变这一行为,因此要以实际预览为准。
如果需要在同一段落中强制换行,可以在行末添加两个空格,再按回车。不过行末空格不容易察觉,也可能被编辑器自动清除;普通文章优先使用段落分隔,维护起来更方便。
3. 强调:粗体与斜体
用一对星号包围文字表示斜体,用两对星号表示粗体:
这是 *斜体*。
这是 **粗体**。
这是 ***粗斜体***。
渲染效果:
- 这是 斜体。
- 这是 粗体。
- 这是 粗斜体。
粗体适合标出关键概念或操作提示。如果整段文字都加粗,读者反而难以找到重点。
4. 列表:整理要点和操作步骤
无序列表
在每项前面写 - 和一个空格:
- 阅读文档
- 整理笔记
- 完成练习
* 和 + 也可以作为无序列表标记,同一份文档里保持一种写法即可。
有序列表
有先后顺序的内容,用数字、英文句点和空格表示:
1. 新建一个 Markdown 文件。
2. 写入标题和正文。
3. 打开预览,检查效果。
嵌套列表
将子列表缩进到父项的内容区域内。对于下面这样的短标记,使用四个空格很方便:
- 写作计划
- 确定主题
- 收集资料
- 发布准备
- 检查链接
- 校对文字
列表前后留空行,能够减少不同渲染器对结构的误判。
5. 引用:突出一段文字
在行首添加 > 和一个空格:
> 把复杂的事情写清楚,往往需要先想清楚。
>
> 这是引用中的第二段。
渲染效果:
把复杂的事情写清楚,往往需要先想清楚。
这是引用中的第二段。
引用适合摘录他人的话,也可以用于补充说明。引用外部内容时,记得标明出处。
6. 链接与图片:方括号加圆括号
链接
链接的基本格式是 [显示文字](目标地址):
[访问文章列表](/posts.html)
[发送邮件](mailto:hello@example.com)
第一条示例会显示为 访问文章列表。描述性文字能够告诉读者链接的用途,比单独写“点这里”更清楚。
以 / 开头的地址从网站根目录解析,相对路径则取决于当前文档或页面所在的位置。博客发布后的位置可能与源文件目录不同,发布前应检查链接。
图片
图片比链接多一个开头的感叹号:

方括号里的内容是替代文本,用来描述图片。图片无法加载时,或者读者使用屏幕阅读器时,这段文字仍然能够传达信息。
示例中的图片路径仅用于说明写法,使用时需要换成实际存在的文件或图片地址。
7. 代码:保留符号和缩进
行内代码
用一对反引号包围命令、文件名或代码片段:
运行 `npm install` 安装依赖。
配置文件名是 `config.json`。
渲染后会显示为:运行 npm install 安装依赖。
如果代码本身包含反引号,可以用两个反引号作为外层边界:
用 `` `内容` `` 表示行内代码。
代码块
多行代码可以用三个反引号围起来,在开头注明语言:
```python
def greet(name):
print(f"你好,{name}!")
greet("Markdown")
```
渲染效果:
def greet(name):
print(f"你好,{name}!")
greet("Markdown")
语言名称用于提示语法高亮,具体颜色和支持的语言取决于平台。代码块里的缩进会被保留,特别适合展示程序、命令和配置文件。
如果要展示包含三个反引号的 Markdown 示例,外层可以使用四个反引号,上面的示例就是这样组织的。
8. 分隔线与转义
分隔线
单独一行写三个或更多连字符,可以生成分隔线。前后留空行,避免它被解释为其他结构:
上一部分的内容。
---
下一部分的内容。
分隔线适合区分内容片段。如果文章已有明确的章节标题,通常不需要频繁添加。
转义字符
如果想显示符号本身,可以在部分标点符号前加反斜杠,阻止它们被解释为 Markdown 标记:
\*这句话不会变成斜体\*
\# 这不是标题
渲染效果:
*这句话不会变成斜体*
# 这不是标题
对于整段语法示例,使用代码块比逐个转义更省事。
9. 常见扩展:表格、删除线与任务列表
Markdown 存在不同的语法变体。表格、删除线和任务列表在许多平台上可用,但并非所有渲染器都支持,使用时应查看目标平台的预览。
表格
用竖线分隔列,在表头下方添加分隔行:
| 语法 | 用途 | 示例 |
| --- | --- | --- |
| 标题 | 划分章节 | `## 小节` |
| 粗体 | 强调重点 | `**重点**` |
| 行内代码 | 展示代码片段 | 使用反引号 |
渲染效果:
| 语法 | 用途 | 示例 |
|---|---|---|
| 标题 | 划分章节 | ## 小节 |
| 粗体 | 强调重点 | **重点** |
| 行内代码 | 展示代码片段 | 使用反引号 |
在分隔行中加冒号可以指定对齐方式::--- 左对齐,:---: 居中,---: 右对齐。表格适合短内容对照,长段落放进表格后容易变得难读。
删除线
用两对波浪号包围文字:
~~这是一条已经取消的安排。~~
支持这一扩展的平台会显示为:这是一条已经取消的安排。
任务列表
在无序列表标记后添加 [ ] 或 [x],分别表示未完成和已完成:
- [x] 确定文章主题
- [x] 完成初稿
- [ ] 校对并发布
支持任务列表的平台通常会把它们显示为复选框,但是否可以点击、点击后是否保存状态,取决于平台的实现。
10. 一份可以直接套用的文档
把前面的语法组合起来,就能写出一份结构完整的笔记:
# 我的学习笔记
今天学习了 **Markdown**,准备用它整理知识。
## 学习目标
- 掌握标题和列表。
- 学会插入链接与代码。
## 操作步骤
1. 新建 `notes.md`。
2. 写入内容。
3. 检查预览。
## 示例代码
```python
print("Hello, Markdown!")
```
> 写完以后,检查内容是否清楚、链接是否正确。
刚开始使用 Markdown,不必一次记住所有语法。先掌握标题、段落、列表、链接和代码,就足以完成大部分日常写作。遇到新的排版需求,再补充相应语法,并在最终发布的平台检查一次效果。