banner
约 1,800 字
6 分钟

8 种常用Markdown语法

摘要

整理写作最常用的 8 种 Markdown 语法:标题(# 级数)、列表(无序 - 与有序 1.)、链接与图片([文本](地址) 与 ![](地址))、引用(>)、行内代码(`)、代码高亮(```语言 代码块)、粗体(**)与斜体(*)、以及表格(| 分隔 + 对齐冒号)。配图例说明渲染效果,并提醒避免文章内用一级标题以利自动生成目录。

为什么你要会 Markdown?

如果你准备在这里(或任何一个技术博客 / 代码平台)写文章,那 Markdown 就是绕不开的基础功。它是一种"用纯文本就能表达排版"的标记语言:你看到的标题、加粗、列表、代码块、表格,本质都是几个符号拼出来的。好处是写起来快、不依赖编辑器、内容永远可迁移——今天在博客写,明天复制到 GitHub、公众号编辑器、语雀都基本通用。

这篇不教你背语法,而是站在"写一篇博客教程"的真实场景,把最常用的几招一次讲透。掌握了这些,排版一篇图文并茂的文章绰绰有余。

先知道一件事:Markdown 没有"官方标准"

这可能是最该提前告诉你的一句话,因为它能解释你后面遇到的绝大多数"为什么我这里能用、那里不行"。

Markdown 最初是 2004 年 John Gruber 设计的一套轻量规则,只有一份描述性文档,没有严格的形式规范。结果各家实现(叫"方言")就自由发挥了。如今你实际会碰到的,主要是这么几套:

规范 / 方言

谁在用

特点

CommonMark

很多现代编辑器、静态站生成器

有严格规范,专门用来终结"方言乱象"

GFM(GitHub Flavored Markdown)

GitHub、绝大多数代码平台

在 CommonMark 上加表格、任务列表、删除线、自动链接

原版 Markdown

老一些的博客引擎

没有表格,没有任务列表

各家自研方言

公众号编辑器、语雀、飞书文档

语法基本兼容,但渲染细节和扩展语法各不相同

所以第一件要接受的事:你掌握的应该是"CommonMark / GFM 这一套通用内核",然后用的时候留个心眼——某个高级语法(比如表格、脚注)在目标平台可能不支持。最基础的四样(标题、列表、链接、代码块)几乎全平台通吃,这也是后面我建议你优先记住它们的原因。

一、标题:搭好文章骨架

标题是文章的骨架。语法很简单:# 加空格再加文字,# 越多,级别越低。

纯文本
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

注意 # 和文字之间的那个空格——它不是可选的。 大多数解析器要求 # 后面必须有空格(或行首 # 后直接结束),写成 #标题 在很多实现里不会被识别成标题,而是当作普通段落。这是新手最高频的"明明写对了却没生效"。

实际写作时的习惯建议:

  1. # 和标题文字之间保留一个空格,这是最标准的 Markdown 写法,也避免在某些平台被误判;

  2. 文章的大标题请用二级标题 ## 起,因为多数博客系统(包括本站)会自动把文章标题渲染成"一级标题",如果你内容里再用 #,就会和文章标题撞车、显得层级混乱;

  3. 多用二级、三级标题把内容切块,本站会自动生成目录(TOC),读者能一眼看清文章结构。

图例(渲染效果示意):

image.png

image.png

二、列表:把要点排整齐

写步骤、列清单是博客的高频需求。无序列表在行首加 -,有序列表在行首加 数字.:

纯文本
- 文本一
- 文本二
- 文本三
纯文本
1. 文本一
2. 文本二
3. 文本三

建议:步骤类的操作说明优先用有序列表,读者能顺着序号一步步来,不会乱。

图例:

image.png

三、链接和图片:让文章"有血有肉"

技术教程最离不开引用链接和配图。

插入链接的格式是 [显示文字](链接地址):

纯文本
[LearnKu 开发者社区](https://learnku.com)

插入图片的格式是 ![](图片链接地址)——注意它和链接很像,只是前面多了一个 !。图片文字留空即可:

纯文本
![](https://example.com/xxx.png)

配图建议:把图片先传到图床拿到稳定的直链(本站有自带图床上传),不要贴本地路径,否则换设备或发到别处会裂图。

为什么"必须图床"这件事值得强调? 因为本地相对路径(比如 ./images/a.png)只在你自己电脑上打开时才有效。一旦内容被传播出去——RSS 订阅、邮件推送、别人复制到别处——相对路径全部失效,读者看到的就是一片裂图。图床给你的是一个全球可访问的绝对 URL,这是内容能否"离开你的电脑还活着"的分界线。

图例:

image.png

四、引用:引用他人文字

要引用别人说过的话,或者做"注意事项"提示,在文字前加 > 即可:

纯文本
> Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,
> 然后转换成格式丰富的 HTML 页面。

渲染后是一段带竖线的"引用块",很适合放备注、出处、警告。

图例:

image.png

五、行内代码与代码高亮

写技术教程,命令、函数名、文件路径这类"程序里的词",用反引号包起来变成行内代码:

纯文本
Laravel 框架的所有配置文件都保存在 `config` 目录中。
可以使用 `config()` 辅助函数来读取。

而整段代码,用三个反引号包裹,并在开头标注语言,就能得到带语法高亮的代码块:

纯文本
```php
function say($msg) {
    return "Hello " . $msg;
}
纯文本
> 提示:写教程时,凡是让读者"复制后运行"的命令,都**务必放进代码块并标注语言**,这样读者复制不会丢格式,也方便阅读高亮。

那个"标注语言"(`php`、`bash`、`yaml`)不是装饰——它告诉渲染器用哪套语法规则着色。写成 `bash` 和 `shell`、写成 `js` 和 `javascript`,多数平台都能识别,**但写错了通常会退化成无色块,不会报错**——这也是为什么有时候你明明标了却"没高亮"。

图例:

![image.png](https://cdn.jsdelivr.net/gh/haihaipypy/image@main/img/20240611172748.png)

![image.png](https://cdn.jsdelivr.net/gh/haihaipypy/image@main/img/20240611173609.png)

### 六、粗体、斜体、表格

**加粗**用两个 `*` 包住文字,**斜体**用一个 `*` 包住文字:

Markdown 的 粗体 和 斜体 非常简单。

纯文本
**表格**用竖线 `|` 分隔列,用 `---` 分隔表头,通过冒号控制对齐:

项目

价格

数量

iPhone

6000 元

5

iPad

3800 元

12

iMac

10000 元

234

纯文本
> 其中 `:---` 表示左对齐、`---:` 右对齐、`:--:` 居中,表格很适合放参数说明、版本对比这类结构化信息。

那行 `| :----- | ------: | :-: |` 看着像乱码,其实它是**表头分隔行**,只干两件事:① 告诉解析器"上一行是表头";② 用冒号的位置决定对齐方式。**它不能省**——省了上面那行就只是普通文本,不是表格。

另外提醒一句:**表格天生不适合移动端**。手机上列数一多就会被横向挤压或需要左右滚动。所以参数对比优先用"两列 / 三列",列太多的话,改用列表反而更清楚。

图例:

![image.png](https://cdn.jsdelivr.net/gh/haihaipypy/image@main/img/20240611173820.png)

![image.png](https://cdn.jsdelivr.net/gh/haihaipypy/image@main/img/20240611174216.png)

### 最容易踩的坑:空行

如果这篇只让你记住一条,我希望是这条——**Markdown 是"块级"解析的,块与块之间必须有空行。**

因为 Markdown 的规则是:"**连续的非空行,会被合并成同一个块**"。所以:

- 两段文字之间不加空行 → 被当成同一段,渲染出来是连在一起的一大坨;
- 标题上方不加空行 → 标题可能被吞进上一段,直接不生效;
- 列表前后不加空行 → 列表可能被解析成普通段落。

这也是为什么很多人会遇到"**在列表里插一段代码块,结果全乱了**"——正确做法是**代码块在列表项内要缩进**(通常 4 个空格,部分解析器是 2 个),并且前后各留一个空行:

```markdown
1. 第一步,先做这个:

   ```bash
   echo "hello"
  1. 第二步……

纯文本
记不住就记一句口诀:**"不确定就空行"**。多一个空行最多是间距大一点,少一个空行可能导致整段结构错乱。

### 用在哪里更顺手

Markdown 是纯文本,所以它跟**笔记软件**是天生一对。如果你打算用它长期记东西、写草稿,挑一个支持双链和本地存储的编辑器会省很多事——我自己是用 Obsidian 管笔记的,它同时也是我大部分文章的初稿所在地,再配合同步方案就能在手机 / 电脑之间无缝接着写。想了解这套流程的话,可以看这篇: [Obsidian 的多端实时同步方案](/post/obsidian-sync-plugin)。

### 个人结论

Markdown 学起来十分钟,用起来受益一辈子。你不需要把上面所有语法背下来,**先记住标题、列表、链接、代码块这四样**,就已经能写出结构清晰的文章了;等遇到表格、引用时再回来翻这篇当速查手册即可。

真要提炼出三条最实用的经验,就是:**`#` 和文字之间要空格、块与块之间要空行、图片一定要用图床直链**。这三条能挡掉你 90% 的排版问题。

写得越多越熟练,最终你会发现,写文章的速度甚至比用 Word 拖鼠标排版还快。
END