2 区块元素
2.1 段落
一个 Markdown
段落是由一个或者多个连续的文本行组成,在其前后要有一个以上的空行(若它的前/后元素为其他区块元素也可以,但两个段落之间必须有空行或者其他区块元素)。
空行的定义是:显示上看起来像是空的,比如某一行只包含了空格或者制表符,则即可视为空行。
- 普通段落不能用制表符来缩进
若用制表符缩进,则
Markdown
生成器将其解析为code
元素。 - 普通段落不能用空格缩进
若用空格缩进,则在
HTML
输出中没有效果。类似于HTML
,在Markdown
中多个空白符只会显示一个空格;若想显示多个空格,参考HTML
。且 4 个空格会被Markdown
生成器将其解析为code
元素 Markdown
允许段落内插入换行符,然而这并不会在生成的HTML
输出中插入<br/>
标签。要想显示出换行,则有两个方法:- 在插入处先按两个以上的空格,然后回车键;而不要直接按回车键
- 直接在需要换行的地方输入
<br/>
标签
2.2 标题
Markdown
支持两种标题语法:
标题的前后不需要有空行
- 类 Setext 形式:底线式。用
=
(最高阶),-
(第二阶)。其中=
或者-
的数量至少是一个以上即可。用法为:
为了美观你可以将
=
或-
数量延长覆盖标题的所有内容
This is H1
==========
以及
This is H2
----------
- 类 Atx 形式:在行首插入 1 到 6 个#,对应标题 1~6 阶。
你可以在行尾加上
#
来闭合 Atx 形式的标题,纯粹是为了美观。行尾的#
数量不限。通常建议
#
和文字之间保留空隔,这是标准用法(某些编辑器只支持标准用法)
# This is H1
## This is H2
### This is H3
#### This is H4
##### This is H5
###### This is H6
2.3 区块引用
Markdown
区块引用使用类似 email 中的 >
,看起来像是你首先断好行,然后在每行的行首添加 >
。
>This is P1 line1
>, This is P1 line2
>
>This is P2 line1
>, This is P2 line2
区块引用的前后并不需要有空行。但是有时为为了结束区块引用,需要后置一个空行。
你可以只在段落的第一行最前面加上
>
,然后并不需要在该段落后面每一行前面加上>
。>This is P1 line1 , This is P1 line2 > >This is P2 line1 , This is P2 line2
两段引用之间必须用空行分段,若无空行则视为一段。其中空行可以添加
>
,也可以不加>
。区块引用可以嵌套(如引用的引用),只需要根据层次加上不同数量的
>
。内层引用是区块元素,自动占用新的段落。
必须用空行中断内层区块引用,原因见第一条。
>This is Outer line1
>
>> This is Inner line2
>
>This is Outer line3
区块引用内也可以使用其他的
Markdown
元素,包括标题、列表、代码区块等。>## This is H2 > >1. This is list item1 >2. This is list item2 > > This is code(3 Tab or 8 Backspace)
2.4 列表
Markdown
中的列表分为有序列表和无序列表。
列表作为一个区块,其前后和后面必须有空行。
无序列表用星号
*
,加号+
或者减号-
作为列表标记,标记与内容之间至少一个空格。* Red * Green * Blue
对于
+
和-
形式的无序列表,只需要替换掉*
即可。有序列表用数字接着一个英文句点作为标记,标记和内容之间至少一个空格。数字的大小不影响输出的 HTML 效果。
通常建议数字按照 1,2,3...等给出,方便阅读
Markdown
源文件。1. Red 2. Green 3. Blue
2.4.1 列表项
列表中的每一项的内容可以缩进对齐,也可以不对齐。
对齐
* item1_line1 is here and this is item1_line2
不对齐
* item1_line1 is here and this is item1_line2.
列表项之间可以用空行分隔,在输出 HTML 时,
Markdown
会将项目内容用<p>
包围起来。* Red * Green * Blue
的输出
HTML
为<ul> <li><p>Red</p></li> <li><p>Green</p></li> <li>Blue</li> </ul>
列表项目可以包含多个段落,每个项目下的段落可以最多缩进 4 个空格或者 1 个制表符。其中每个段落中的行可以缩进也可以不缩进。
项目中的段落前后不必添加空行
缩进仅仅是为了阅读
Markdown
源码方便* this is item1 p1 line1 and line2. this is item1 p2 line1 and line2 * this is item2 p1 line1 and line2 this is item2 p2 line1 and line2
列表项目可以包含引用区块,此时
>
需要缩进 4 个空格或者 1 个制表符。若没有缩进,则该引用对应的不是该列表项目。
* this is item1 > item1 quote1 > > item1 quote2
列表项目可以包含代码区块,此时代码区块必须比该列表项多缩进 8 个空格或者 2 个制表符。
若仅仅缩进 4 个空格或者 1 个制表符,则
Markdown
生成器认为这是列表项下的段落。* item 1 code line1 code line2
Markdown
会将以数字加英文点号开头的段落解析为列表,因此对于1986. The year is ....
这种段落,必须通过\
转义:1986\. The year is ...
。
2.5 代码区块
在 Markdown
中,简单的缩进 4 个空格或者 1 个制表符会生成代码区块。它的 HTML
输出是用 <pre>
和 <code>
包围起来的区块。
代码区块的前后必须要有空行
- 代码区块会持续到没有缩进的那一行或者下一个区块的开始或者文件结尾。
- 代码区块中的
&
,<
,>
会自动转成HTML
实体而不是作为HTML
标记。 - 代码区块中的
Markdown
语法不会被解析。
代码区块还有一种语法:在代码的两侧均添加三个反引号 ```
。最好在代码段的首行之前的一行以及代码段的尾行之后的一行添加三个反引号,如:
```
code line 1
code line 2
```
2.6 分隔线
你可以在一行中用三个以上的星号 *
,或者减号 -
或者底线 _
来建立一个分隔线,行内不能有其他东西。
前后不必有空行,除了减号前面必须有空行。这是为了防止出现将作为分隔线的减号
-
解析为二阶标题。
- 你可以在星号
*
或者减号-
或者底线_
之间插入空格
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论