行内代码
一个反引号字符串是由一个或多个反引号字符(`
)组成的字符串,它既不是前缀也不是后缀。
行内代码以反引号字符串开头,以相等长度的反引号字符串结尾。行内代码的内容是两个反引号字符串之间的字符,通过以下方式标准化:
- 首先,行尾转换为空格。
- 如果最终的(resulting)字符串以一个空格字符起始、结束,但又不完全由空格字符组成,则从前面和后面删除单个空格字符。这允许你包含以反引号字符起始或结束的代码,它必须用打开或闭合的反引号字符串的空格分隔。
这是一个简单的行内代码:
示例 338
Markdown | HTML | 效果 |
---|---|---|
|
|
这里使用了两个反引号,因为代码包含反引号。
此示例还演示了单个前置和后置空格的剥离:
示例 339
Markdown | HTML | 效果 |
---|---|---|
|
|
此示例显示了剥离前置和后置空格的动机:
示例 340
Markdown | HTML | 效果 |
---|---|---|
|
|
请注意,只剥离了一个空格:
示例 341
Markdown | HTML | 效果 |
---|---|---|
|
|
通常,只有空格而不是 unicode 空格被剥离:
示例 342
Markdown | HTML | 效果 |
---|---|---|
|
|
如果行内代码仅包含空格,则不会发生剥离:
示例 343
Markdown | HTML | 效果 |
---|---|---|
|
|
行尾被当做空格:
示例 344
Markdown | HTML | 效果 |
---|---|---|
|
|
示例 345
Markdown | HTML | 效果 |
---|---|---|
|
|
示例 346
Markdown | HTML | 效果 |
---|---|---|
|
|
内部空格和行尾的空格被折叠成一个空格,在浏览器中也是这样:
示例 347
Markdown | HTML | 效果 |
---|---|---|
|
|
注意,在渲染 <code>
元素时,浏览器通常会折叠连续的空格,因此建议使用以下 CSS:
code{white-space: pre-wrap;}
注意,反斜杠转义字符在行内代码中不起作用,所有的反斜杠都是正常斜杠:
示例 348
Markdown | HTML | 效果 |
---|---|---|
|
|
永远不需要反斜杠转义,因为总是可以选择一个有 n 个反引号的字符串来作为分隔符,其中代码不包含任何完全的 n 个反引号字符的字符串。
示例 349
Markdown | HTML | 效果 |
---|---|---|
|
|
示例 350
Markdown | HTML | 效果 |
---|---|---|
|
|
行内代码反引号的优先级高于除 HTML 标签和自动链接之外的任何其他内联结构体。 因此,比如下面这个例子,不会被解析为强调文本,因为第二个*
是代码的一部分:
示例 351
Markdown | HTML | 效果 |
---|---|---|
|
|
这不会被解析为链接:
示例 352
Markdown | HTML | 效果 |
---|---|---|
|
|
行内代码,HTML 标签和自动链接有相同的优先级,所以:
示例 353
Markdown | HTML | 效果 |
---|---|---|
|
|
但这是一个 HTML 标签:
示例 354
Markdown | HTML | 效果 |
---|---|---|
|
|
这是代码:
示例 355
Markdown | HTML | 效果 |
---|---|---|
|
|
这是一个自动链接:
示例 356
Markdown | HTML | 效果 |
---|---|---|
|
|
当一个反引号字符串没有被匹配的反引号字符串闭合时,我们只有把它当做普通的引号:
示例 357
Markdown | HTML | 效果 |
---|---|---|
|
|
示例 358
Markdown | HTML | 效果 |
---|---|---|
|
|
以下情况还说明了打开和闭合反引号字符串的长度必须相等:
示例 359
Markdown | HTML | 效果 |
---|---|---|
|
|