概览
大多数使用 Markdown 的用户会发现,基本和扩展的语法元素已经能满足他们的需求。但如果你长时间使用 Markdown,很可能会发现有些你需要的功能 Markdown 并不支持。本页提供了一些应对 Markdown 局限性的技巧和窍门。
提示:这些技巧并不能保证在你的 Markdown 应用中都能生效。如果你频繁需要使用这些技巧,或许应该考虑使用除 Markdown 之外的工具进行写作。
下划线
在网页写作中,下划线文本并不常见,这可能是因为下划线文本常与链接混淆。然而,如果你正在撰写论文或报告,你可能需要能够对单词和短语加下划线。像 Bear 和 Simplenote 这类少数应用提供了对文本加下划线的支持,但 Markdown 本身并不原生支持下划线功能。如果你的 Markdown 处理器支持 HTML,你可以使用 HTML 的<ins>
标签来为文档中的文本添加下划线。
这里有些文字<ins>将会被加下划线</ins>。
渲染后的输出如下所示:
这里有些文字 将会被加下划线。
缩进(制表符)
在 Markdown 中,制表符和空白有着特殊的意义。你可以使用尾随空白来创建换行,也可以用制表符来创建代码块。但如果你想以传统的方式,即使用制表键来缩进段落,Markdown 并没有提供简单的方法。
最好的办法可能是使用一个支持缩进的 Markdown 编辑器。这在更倾向于桌面排版的应用程序中较为常见。例如,iA Writer 允许你在应用程序偏好设置中自定义编辑器的缩进设置。它还提供了模板自定义选项,以便你可以使渲染出的文档看起来符合预期,包括缩进等。
另一个选择是,如果你的 Markdown 处理器支持 HTML,可以使用 HTML 实体
来表示不可折断的空格。这应该是最后的手段,因为它可能显得笨拙。基本上,Markdown 源码中的每个
在渲染后的输出中都会被替换为空格。因此,如果你在一个段落前插入四个
,该段落看起来就像是缩进了四个空格。
这是我的缩进段落的第一句话。
渲染后的输出如下:
这是我的缩进段落的第一句话。
居中
在撰写论文或报告时,能够居中文本是必需的。不幸的是,Markdown 没有文本对齐的概念(可能的例外是在使用表格时)。好消息是有一个 HTML 标签你可以用:<center>
。如果你的 Markdown 处理器支持 HTML,你可以将这些标签放在任何你想居中对齐的文本周围。
<center>这段文字居中显示。</center>
渲染后的输出如下:
<center>
HTML 标签虽然技术上受支持,但实际上已被弃用,这意味着它目前仍能工作,但不建议使用。不幸的是,没有其他纯 HTML 的替代方案。你可以尝试使用 CSS 的替代方法。并非所有 Markdown 应用都支持 CSS,但如果使用的应用支持,这里有一个替代 <center>
标签的方法:
`<p style="text-align:center">将这段文字居中</p>`
如果 Markdown 应用支持这一点,输出将如下所示:
将这段文字居中
文本颜色
Markdown 本身不允许你改变文本颜色,但如果 Markdown 处理器支持 HTML,你可以使用 HTML 的 <font>
标签。color
属性允许你通过颜色名称或十六进制 #RRGGBB
代码指定字体颜色。
<font color="red">这段文字是红色的!</font>
渲染后的输出如下所示:
这段文字是红色的!
<font>
标签技术上虽受支持,但实际上已被弃用,这意味着它当前仍能工作,但不应再继续使用。不幸的是,没有其他纯 HTML 的替代方案。你可以尝试使用 CSS 的替代方法。并非所有 Markdown 应用都支持 CSS,但如果所使用的应用支持,这里有一个替代 <font>
标签的方法:
<span style="color:blue">让这段文字变成蓝色。</span>
如果 Markdown 应用支持这一点,输出将如下所示:
让这段文字变成蓝色。
注释
有些人需要在 Markdown 文件中编写句子,而这些句子不会出现在渲染后的输出中。这些注释本质上是隐藏的文字。作者可以查看这些文本,但它不会被打印到网页或 PDF 上。Markdown 本身不支持注释,但一些有创意的人士找到了解决方案。
要添加注释,请将文本置于方括号内,后跟冒号、空格和井号(例如,[注释]: #
)。注释前后应放置空白行。
这是一个可见的段落。
[这是会被隐藏的注释。]: #
再来一个可见的段落。
渲染后的输出如下所示:
这是一个可见的段落。
再来一个可见的段落。
提示:这个提示来源于 Stack Overflow,经过了同行评审并已被数千人使用!
警告提示
警告提示常用于文档中以引起对警告、注记和提示的注意。Markdown 没有为警告提示提供特殊的语法,大多数 Markdown 应用也不支持警告提示(MkDocs 是一个例外)。
然而,如果你需要添加警告提示,也许可以使用带有表情符号和强调的区块引用,来创建类似于在其他网站上看到的警告提示效果。
> :warning: **警告:** 不要按下那个大红按钮。
> :memo: **注记:** 日出非常美丽。
> :bulb: **提示:** 记得欣赏生活中的小事物。
渲染后的输出如下:
⚠️ 警告: 不要按下那个大红按钮。
📝 注记: 日出非常美丽。
💡 提示: 记得欣赏生活中的小事物。
图片尺寸
Markdown 的图片语法不允许你指定图片的宽度和高度。如果你需要调整图片大小,并且你的 Markdown 处理器支持 HTML,你可以使用带有 width
和 height
属性的 img
HTML 标签来以像素为单位设置图片尺寸。
<img src="https://www.koudingke.cn/image.png" width="200" height="100" />
渲染后的输出将包含按你指定尺寸调整大小的图片。
图片说明
Markdown 本身不支持图片说明,但有两种可能的解决方法。如果你的 Markdown 应用支持 HTML,你可以使用 figure
和 figcaption
HTML 标签为图片添加说明。
<img src="https://koudingke.oss-cn-hangzhou.aliyuncs.com/docs/md-docs/images/albuquerque.jpg"/>
<figcaption>新墨西哥州阿尔伯克基市外的一条单轨小径。</figcaption>
渲染后的输出看起来像这样:

提示:如果你的 Markdown 应用支持 CSS,你可以使用 CSS 来设计说明的外观。
如果你的 Markdown 应用不支持 HTML,你可以尝试直接将说明放在图片下方,并使用强调格式。

_A single track trail outside of Albuquerque, New Mexico._
渲染后的输出看起来像这样:
A single track trail outside of Albuquerque, New Mexico.
链接目标
有些用户喜欢创建在新标签页或新窗口中打开的链接。Markdown 的链接语法本身不允许你指定target
属性,但如果你的 Markdown 处理器支持 HTML,你可以使用 HTML 来创建这类链接。
<a href="https://www.markdownguide.org" target="_blank">学习 Markdown!</a>
渲染后的输出看起来像这样:
符号
Markdown 没有为符号提供特别的语法。然而,在大多数情况下,你可以直接复制并粘贴想在 Markdown 文档中使用的任何符号。例如,如果你需要展示圆周率(π),只需从网页上找到这个符号并将其复制粘贴到文档中。该符号应在渲染后的输出中正常显示。
或者,如果你的 Markdown 应用支持 HTML,你可以使用 HTML 实体来表示你想要的符号。例如,如果你想展示版权符号(©),可以直接复制版权的 HTML 实体(©
)并粘贴到 Markdown 文档中。
以下是一些常用符号的 HTML 实体示例:
- 版权(©)—
©
- 注册商标(®)—
®
- 商标(™)—
™
- 欧元(€)—
€
- 左箭头(←)—
←
- 上箭头(↑)—
↑
- 右箭头(→)—
→
- 下箭头(↓)—
↓
- 度数(°)—
°
- 圆周率(π)—
π
完整的 HTML 实体列表可参考 Wikipedia 上的“HTML 实体”页面。
表格格式化
Markdown 表格以其难以驾驭著称。你无法在表格单元格中使用许多 Markdown 语法元素来格式化文本。但是,至少对于两个常见的表格问题存在变通方法:单元格内的换行和列表。
单元格内的换行
你可以在单元格内部使用一个或多个<br>
HTML 标签来分隔段落。
| 语法 | 描述 |
| ---- | -------------------- |
| 标题 | 标题 |
| 段落 | 第一段。<br>第二段。 |
渲染后的输出如下:
语法 | 描述 |
---|---|
标题 | 标题 |
段落 | 第一段。 第二段。 |
单元格内的列表
你可以在单元格内通过使用 HTML 标签来添加列表。
| 语法 | 描述 |
| ---- | -------------------------------------- |
| 标题 | 标题 |
| 列表 | 这是一个列表!<br>项目一。<br>项目二。 |
渲染后的输出如下:
语法 | 描述 |
---|---|
标题 | 标题 |
列表 | 这是一个列表! 项目一。 项目二。 |
目录
一些 Markdown 应用,如 Markdeep,可以从你的标题自动生成目录(也称为toc),但这并不是所有 Markdown 应用都提供的功能。然而,如果你的 Markdown 应用支持标题 ID,你可以通过列表和一些链接为 Markdown 文件创建一个目录。
#### 目录
- [下划线](#underline)
- [缩进](#indent)
- [居中](#center)
- [颜色](#color)
渲染后的输出如下:
目录
视频嵌入
如果你的 Markdown 应用支持 HTML,你应该可以通过复制 YouTube 或 Vimeo 等视频网站提供的 HTML 代码,在 Markdown 文件中嵌入视频。如果 Markdown 应用不支持 HTML,你不能直接嵌入视频,但你可以通过添加视频的图像链接来接近这一效果。几乎在任何视频服务上的任何视频都可以这样做。
既然 YouTube 让这个过程变得简单,我们就以它为例。比如这个视频:https://www.youtube.com/watch?v=8q2IjQOzVpE
。URL 的最后一部分(8q2IjQOzVpE
)就是视频的 ID。我们可以取这个 ID 并放入以下模板中:
[](https://www.youtube.com/watch?v=YOUTUBE-ID)
YouTube 会为每个视频自动生成一张预览图(https://img.youtube.com/vi/YOUTUBE-ID/0.jpg
),我们可以利用这张图,并将其链接到 YouTube 上的视频。替换图片的替代文本并添加视频 ID 后,我们的示例就像这样:
[](https://www.youtube.com/watch?v=PYCxct2e0zI)
渲染后的输出看起来是这样的:
点击这个图片就会跳转到 YouTube 视频页面。