Markdown 文本格式
标题搭好骨架后,我们需要给文字"加语气"——哪些是重点、哪些是引用书名、哪些是要删除的旧内容。Markdown 用几个简单符号就能实现粗体、斜体、删除线。这一章把这组常用语法一次讲透。
1. 粗体(Bold)
用两个星号或两个下划线包裹文字,渲染为 HTML 的 <strong> 标签,表示重要语义:
**这是粗体**
__这也是粗体__
渲染为 <strong>标签</strong>,表示重要语义。
2. 斜体(Italic)
用一个星号或一个下划线包裹,渲染为 <em> 标签,表示语气强调:
*这是斜体*
_这也是斜体_
渲染为 <em>标签</em>,表示强调语气。
中文里斜体用得少(中文字体没有真正的斜体,渲染往往是程序倾斜),但在英文文档、书名、变量名上仍然常见。
3. 粗斜体(Bold + Italic)
三个星号或下划线同时包裹,粗 + 斜一起:
***粗斜体同时***
___这也是___
或者嵌套写:
**外层粗体 *内层斜体* 结束**
4. 删除线(Strikethrough)
用两个波浪号包裹,渲染为 <del> 标签。这是 GFM 扩展,原版 CommonMark 不支持:
~~这是删除线~~
GFM 扩展支持,渲染为 <del>标签</del>。
混合:~~删除 **粗体** 文本~~
常用于"修改记录"、"价格划线"、"已废弃的命令"。
5. 高亮(Mark)— 非标准
部分编辑器(如 Obsidian)支持 == 高亮,渲染为 <mark> 标签。但这不是 CommonMark 标准,发布到 GitHub 或博客时会失效。需要时建议直接写 HTML:
==高亮文本==
部分引擎支持(如 Obsidian),渲染为 <mark>标签</mark>。
不是 CommonMark 标准,谨慎使用。
6. 行内强调的规则
这组的坑最多,新手最容易踩。三条规则记牢:
规则 1:符号两侧紧贴文字,不能有空格
✅ **粗体**
❌ ** 粗体 **(渲染为字面星号)
规则 2:英文单词内部强调用 __ 或 _
foo__bar__baz (有效)
foo**bar**baz (有效)
_foo_bar_baz (有效)
规则 3:嵌套用不同符号避免歧义
**外层 *内层***
7. 最佳实践
✅ 粗体统一用 **
✅ 斜体统一用 *
✅ 删除线用 ~~
原因:
- 星号比下划线更通用(部分引擎只认星号)
- 视觉上更明显
- 避免与变量名中的下划线冲突
❌ 避免:在一个文档里混用 ** 和 __
❌ 避免:滥用粗体,整段都加粗等于没加粗
8. 常见错误
- 星号两侧有空格:
** 粗体 **不会渲染,因为左侧空格破坏了边界识别。 - 下划线遇到变量名:
my_variable_name在某些引擎里会被解析为斜体,写代码或公式时要小心。 - 整段加粗:等于没加粗,反而让阅读疲劳。粗体应该是"段落里最显眼的几个词"。
- 用斜体代替书名号:中文书名建议直接用书名号《》,斜体留给英文书名。
- 在列表标记符里乱用:
-、*同时也是列表符号,列表项里嵌套斜体要小心边界。
9. 语义化建议
粗体和斜体不只是样式,它们对应 HTML 的 <strong> 和 <em>,对屏幕阅读器、SEO 有真实语义。所以:
- 真正重要的内容(如警告、关键结论)用
**。 - 语气上想强调某个词(如"确实"、"必须")用
*。 - 只是想换字体样式的,请用 HTML 或 CSS,不要滥用强调。
小结
这一章你掌握了文字的"语气"——粗体、斜体、删除线、高亮,以及它们对应的 HTML 语义。下一篇我们看列表,把零散的内容组织起来。
← 上一篇 标题、段落与换行
下一篇 列表 →