Markdown 加粗
在文字两侧各加两个星号就能加粗:**加粗**。本文介绍两种写法、粗斜体、中文标点旁加粗失效的原因和解决办法,以及各平台的差异。
简短回答
Markdown 怎么加粗?
在文字两侧各加两个星号:**加粗文字**。用两个下划线 __加粗文字__ 效果相同,两种写法都会生成 HTML 的 <strong> 元素。中文正文推荐用星号:下划线写法要求两侧有空格或标点,紧挨汉字时不生效。
**这段文字是粗体**
__这段文字也是粗体__显示效果
这段文字是粗体
这段文字也是粗体
加粗的写法和示例
两种符号生成的 HTML 相同,区别在于能否紧挨文字使用。中文里还有一个常见问题:加粗的文字以标点开头或结尾时,加粗可能不生效。
双星号
兼容性最好的写法,CommonMark、GitHub、GitLab、Discord、Obsidian、Notion 以及 Hugo、Jekyll 等静态网站生成器都支持。
请在**今天**上线,不要拖到下个季度。显示效果
请在今天上线,不要拖到下个季度。
双下划线
效果与双星号相同,但两侧需要空格或标点,紧挨汉字时不会生效,所以中文里更适合用星号。在 Discord 中 __文字__ 表示下划线。
这是 __粗体__ 文字
这是__粗体__文字显示效果
这是 粗体 文字
这是__粗体__文字
标点旁的加粗失效
CommonMark 规定,** 的内侧是标点、外侧紧挨文字时,不能作为加粗的开始或结束,所以 **注意:**文字 会原样显示。把标点移到星号外面,或者在星号后加一个空格即可。GitHub 等遵循 CommonMark 的平台都有这个问题。
**注意:**该操作无法撤销。
**注意**:该操作无法撤销。
**注意:** 该操作无法撤销。显示效果
**注意:**该操作无法撤销。
注意:该操作无法撤销。
注意: 该操作无法撤销。
单词内部加粗
英文单词中间只能用星号加粗。CommonMark 忽略单词中间的下划线,以免破坏 snake_case_name 这类名称。
un**bel**ievable
un__bel__ievable显示效果
unbelievable
un__bel__ievable
粗斜体
三个星号同时加粗和倾斜,也可以把两种写法嵌套使用。中文字体大多没有斜体字形,浏览器会把字形倾斜显示。
***又粗又斜***
**粗体中有一段 _斜体_ 文字**显示效果
又粗又斜
粗体中有一段 斜体 文字
显示星号本身
在每个星号前加反斜杠,星号就会原样显示。反引号里的内容也不会被格式化。
\*\*这里不是粗体\*\*
`**这里也不是粗体**`显示效果
**这里不是粗体**
**这里也不是粗体**
各平台的加粗支持
双星号几乎处处可用,各平台的差异在下划线和单星号上。
| 应用 | 支持情况 | 说明 |
|---|---|---|
| GitHub / GitLab | 支持 | README、Issue、PR 和评论中 ** 与 __ 都能用。 |
| Discord | 有差异 | **文字** 是粗体,__文字__ 是下划线。 |
| Slack | 有差异 | Slack 消息用单个星号加粗:*文字*。 |
| Obsidian | 支持 | 两种写法都支持,星号可以在单词内部加粗。 |
| Notion | 支持 | 输入 **文字** 会立即变成粗体。 |
| Typora | 支持 | 两种写法都支持,输入后直接显示为粗体。 |
常见问题
** 和 __ 有什么区别?
** 和 __ 有什么区别?<strong>。差别有两处:紧挨文字时只有星号有效,所以 这是__粗体__文字 不会加粗;在 Discord 中 __文字__ 表示下划线。怎样同时加粗和倾斜?
***文字***,或者嵌套两种写法:**_文字_**。为什么加粗不生效?
** 文字 **);** 的内侧是标点、外侧紧挨文字,例如 **注意:**文字;用了下划线且紧挨汉字;文字在代码块或反引号里。标点的问题把标点移到星号外面,或在星号后加空格就能解决。GitHub 上怎么加粗?
**文字** 和 __文字__。中文标点旁加粗失效的问题在 GitHub 上同样存在。Discord 里怎么加粗?
**文字**。Discord 把 __文字__ 显示为下划线,加粗请用星号。代码块里的加粗会生效吗?
** 就是两个星号。怎样显示星号本身而不加粗?
\*\*文字\*\* 显示为 **文字**。把文字放进反引号也能关闭格式。Markdown 加粗生成什么 HTML?
<strong> 元素。需要 <b> 时直接写 HTML 标签,大多数 Markdown 渲染器允许内嵌 HTML。