跳到主要内容

基础语法

本章介绍 Markdown 最核心的基础语法,包括标题、段落、文本样式和列表。这些语法是所有 Markdown 文档的基础。

标题

Markdown 支持六级标题,使用 # 符号表示。# 的数量对应标题级别。

语法规则

# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

渲染效果:

一级标题

二级标题

三级标题

四级标题

五级标题
六级标题

重要说明

# 与标题文字之间必须有空格。这是 CommonMark 规范的要求,缺少空格会导致语法不被识别。

#正确的写法    ← 错误:没有空格
# 正确的写法 ← 正确:有空格

替代语法

一级和二级标题还有一种替代写法,使用底线符号:

一级标题
========

二级标题
--------

这种写法较少使用,但某些场景下可能更直观。

最佳实践

  • 每个文档通常只有一个一级标题,作为文档标题
  • 标题层级应当连续,不要跳级(如从一级直接跳到三级)
  • 标题前后保持空行,增强可读性

段落

段落是最基本的文本单位。在 Markdown 中,段落由一个或多个连续的文本行组成,段落之间用空行分隔。

基本段落

这是第一段。段落可以包含多行文字,
只要中间没有空行,就属于同一个段落。

这是第二段。两个段落之间有一个空行。

渲染效果:

这是第一段。段落可以包含多行文字, 只要中间没有空行,就属于同一个段落。

这是第二段。两个段落之间有一个空行。

段落换行

如果需要在段落内强制换行,有两种方式:

方式一:行末添加两个空格

这是第一行··
这是第二行

· 代表空格,实际输入时不可见)

方式二:行末添加反斜杠

这是第一行\
这是第二行

两种方式渲染效果相同:

这是第一行 这是第二行

注意事项

不要使用多个空行来增加段落间距,多个连续空行在渲染时会被合并为一个。如果需要更大的间距,应使用 HTML 的 <br> 标签或 CSS 样式。

文本样式

Markdown 提供多种文本样式,用于强调或区分内容。

粗体

使用双星号 ** 或双下划线 __ 包围文字:

**这是粗体文字**
__这也是粗体文字__

渲染效果:这是粗体文字

推荐使用星号语法,因为下划线在某些情况下可能与链接语法冲突。

斜体

使用单星号 * 或单下划线 _ 包围文字:

*这是斜体文字*
_这也是斜体文字_

渲染效果:这是斜体文字

粗斜体

使用三星号 *** 或三下划线 ___ 包围文字:

***这是粗斜体文字***
___这也是粗斜体文字___

渲染效果:这是粗斜体文字

删除线

删除线是 GFM 扩展语法,使用双波浪线 ~~ 包围文字:

~~这是删除线文字~~

渲染效果:这是删除线文字

组合使用

样式可以组合使用:

**粗体中有*斜体*文字**
*斜体中有**粗体**文字*

渲染效果:粗体中有斜体文字

样式符号与文字的边界

样式符号与文字之间不能有空格:

** 正确 **   ← 错误:有空格
**正确** ← 正确:无空格

如果需要在文字中使用星号本身(而非样式),使用反斜杠转义:

这里有一个星号:\*

列表

列表是文档中常用的结构,Markdown 支持有序列表和无序列表。

无序列表

使用减号 -、星号 * 或加号 + 作为列表标记:

- 第一项
- 第二项
- 第三项

* 第一项
* 第二项
* 第三项

+ 第一项
+ 第二项
+ 第三项

三种符号渲染效果相同:

  • 第一项
  • 第二项
  • 第三项

推荐在同一文档中统一使用一种符号,通常使用减号 -

有序列表

使用数字加点号 . 表示:

1. 第一项
2. 第二项
3. 第三项

渲染效果:

  1. 第一项
  2. 第二项
  3. 第三项

有趣的是,列表的序号不一定要按顺序写。以下写法渲染结果相同:

1. 第一项
1. 第二项
1. 第三项

甚至:

1. 第一项
5. 第二项
3. 第三项

渲染时都会按实际顺序编号。但为了源码可读性,建议按顺序书写。

列表嵌套

子列表需要缩进,通常缩进 2-4 个空格或 1 个制表符:

1. 第一项
- 子项一
- 子项二
2. 第二项
- 子项一
- 嵌套子项

渲染效果:

  1. 第一项
    • 子项一
    • 子项二
  2. 第二项
    • 子项一
      • 嵌套子项

列表中的段落

列表项可以包含多个段落,后续段落需要缩进与第一行对齐:

1.  这是第一个列表项的第一段。

这是同一个列表项的第二段。

2. 这是第二个列表项。

列表中的代码块

在列表中插入代码块需要额外缩进:

1.  打开终端,执行以下命令:

npm install markdown

2. 安装完成后,验证安装:

npm list markdown

注意代码块需要缩进 8 个空格(列表项缩进 4 个 + 代码块缩进 4 个)。

列表结束

有时需要在列表后紧跟其他内容而不被误认为列表项。可以在列表后添加空行,或使用 HTML 注释分隔:

- 列表项一
- 列表项二

<!-- -->

这不是列表项

转义字符

Markdown 使用以下字符作为语法标记:

字符用途
#标题
*斜体、粗体、列表
-列表、分隔线
+列表
_斜体、粗体
[]链接、图片
()链接地址
>引用
`代码
~删除线

如果需要在文档中显示这些字符本身,使用反斜杠 \ 转义:

\* 这不是斜体 \*
\# 这不是标题
\[ 这不是链接 \]

渲染效果:* 这不是斜体 *

小结

本章学习了 Markdown 的基础语法:

  1. 标题:使用 # 符号,共六级
  2. 段落:空行分隔段落,行末双空格换行
  3. 文本样式:粗体、斜体、删除线
  4. 列表:有序列表和无序列表,支持嵌套
  5. 转义:使用反斜杠显示特殊字符

这些基础语法覆盖了日常文档编写的 80% 需求。下一章将学习链接和图片的使用方法。

练习

  1. 创建一个包含三级标题的文档
  2. 编写一段包含粗体、斜体和删除线的文字
  3. 创建一个嵌套列表,包含有序列表和无序列表
  4. 尝试在文字中显示星号字符