区块元素中引用和列表可以实现区块的嵌套,我们将其称为可嵌套区块。
当我们说嵌套的时候,并非只指自身的嵌套,而是说可以嵌套基本所有类型的区块。
1. 引用的嵌套
引用的嵌套相对简单,只要所有的嵌套内容每行行首加上>,跟写简单的文字引用一样,只不过每一行都加>而已,多级嵌套就多加几个>。
示例:
> 段落1行1> 段落2行2>> —> 段落2>> > 二级引用1234567
效果:
段落1行1
段落2行2
段落2
二级引用
引用的嵌套,在实际写作中不太实用,一般只会用到简单的文段引用,嵌套最多用到段落。而且,目前很多编辑器的引用嵌套都有个不起眼的小bug,嵌套中的标题会被纳入到目录大纲。
2. 列表的嵌套
列表的嵌套相对复杂,目前一般有两种方式来实现,一是Tab方式,二是对齐方式。
Tab方式是原生Markdown提出的嵌套方式,使用4个空格或1个Tab缩进实现多级嵌套(这里的Tab指4个空格,有的编辑器Tab键值不一样,或者会根据上一行变化)。
对齐方式是CommonMark提倡的方式,不固定每次嵌套所需的空格数量,使用空格缩进至嵌套内容与列表项目首行对齐为止。
两种方式各有优势,Tab方式更易写,每次缩进按一个Tab就可以;对齐方式更易读,写出来的文档与最后显示的结果更接近。
3. 范围元素的嵌套
在原生Markdown中将所有的行内元素叫做范围元素。但是这里的范围元素指行内元素中采用标识包裹的语法元素,包括强调、重强调、删除线和行内代码。
如删除线内嵌套强调:123**56**789
注意:
行内代码可以被嵌套,但是不能嵌套其他范围元素。
强调、重强调与删除线不支持与自身嵌套,只能嵌套不同的范围元素。