段落与换行
段落是 Markdown 里最不起眼、也最容易被误解的结构。很多人以为「在编辑器里按回车」就能分段或换行,结果网页上却挤成一整段。这一页要把规则讲透:Markdown 靠空行切段,靠行尾的标记切行,除此之外它并不关心你在编辑器里是怎么敲键盘的。
- 段落:空行分隔。
- 强制换行:行末添加两个空格或使用
<br>。
这是第一行,行尾有两个空格
这是同一段中的下一行。
这是新的段落。
把这段源码和它的渲染结果对照着看,差别就很直观:
<p>这是第一行,行尾有两个空格<br>
这是同一段中的下一行。</p>
<p>这是新的段落。</p>
规则可以归纳成三条。第一,空行把内容切成独立的段落,一个空行就够,多余的空行会被忽略。第二,段落内部的单个换行并不等于换行:HTML 会把连续空白折叠成一个空格,所以「第一行」「第二行」写在同一个段落里时,网页上看到的仍然是一整行。第三,想要真正的换行,必须在行尾加两个空格、加一个反斜杠 \,或者直接插入 <br> 标签。
水平分割线
单独占一行、至少三个 -、* 或 _,就构成一条水平分割线:
前面的段落
---
后面的段落
<p>前面的段落</p>
<hr>
<p>后面的段落</p>
分割线必须自己独占一行,并且与上下段落之间留出空行,否则它会被当成别的东西。
| 写法 | 你以为 | 实际渲染 | 原因 |
|---|---|---|---|
| 段内直接回车 | 换行 | 折叠成空格,仍在同一行 | HTML 的空白折叠规则 |
| 行尾两个空格 | 换行 | <br> 硬换行 | 通用规范的硬换行写法 |
行尾一个反斜杠 \ | 换行 | <br> 硬换行 | 反斜杠同样是硬换行标记 |
| 段落前缩进四个空格 | 缩进的正文 | 代码块 | 四空格缩进表示代码块 |
标题下面紧跟 --- | 分割线 | 二级标题 | 标题下划线写法优先级更高 |
行尾的两个空格在编辑器和代码评审里极难察觉。 它们不显示、不报错,改动时很容易被顺手删掉,删掉之后换行也就跟着消失。多人协作的文档里,用 <br> 或反斜杠会更容易被发现和保留。
写出下面这段内容的 Markdown 源码,要求:第一行与第二行在网页上分两行显示,第三句是独立段落。
第一行
第二行
第三句
解题思路: 第一行与第二行要分两行显示但不成为两个段落,用行尾两个空格(硬换行)即可;两行之后空一行再写第三句,第三句就成为独立段落。段落之间靠空行分隔,不需要任何标记符号。
详细步骤:
- 第一行末尾敲两个空格,表示在这里强制换行。
- 第二行之后敲一个空行,把第三句与前两行分开。
- 写第三句,段首不需要缩进或符号。
- 检验:渲染后第一行与第二行在同一段落内分两行显示,第三句另起一段。
最终答案:
第一行
第二行
第三句读完这一页,你应当能解释「空行分段、两个空格或反斜杠换行」这条规则,能识别出被误判成代码块或标题的段落,也能说明为什么行尾空格是文档评审里的隐形坑。接下来写长文时,你会自然地把每个段落用空行隔开,而不再依赖编辑器里看不见的标记。
