基本应用
这是最简单的应用:表格的第一行决定了这个表格有多少列。
|===
|header 1 |header 2 |header 3
|info 1 |info 2 |info 3
|info 4 |info 5 |info 6
|===
header 1 | header 2 | header 3 |
info 1 | info 2 | info 3 |
info 4 | info 5 | info 6 |
也可以使用表格属性来强制设置表格有多少列:
[cols="3"]
|===
|header 1
|header 2
|header 3
|row
|row
|row
|===
header 1 | header 2 | header 3 |
row | row | row |
表头
如果第一行和后续行之间以空格隔开,则第一行自动成为表头:
[cols="3"]
|===
|header 1
|header 2
|header 3
| row | row | row
|===
header 1 | header 2 | header 3 |
row | row | row |
footer
使用属性可以将最后一行作为页脚:
[%footer]
|===
|header 1 |header 2 |header 3
| row | row | row
| row | row | row
| footer | footer | footer
|===
header 1 | header 2 | header 3 |
---|---|---|
row | row | row |
row | row | row |
footer | footer | footer |
标题
可以为表格添加一个标题:
.table title
|===
|header 1 |header 2 |header 3
| row | row | row
|===
header 1 | header 2 | header 3 |
---|---|---|
row | row | row |
标题既可以出现在属性的上方也可以出现在属性的下方。
合并单元格
可以使用 3+
来合并横向的三个单元格,使用 .3+
合并纵向的三个单元格,使用 row.col+
来合并横向和纵向的单元格:
|===
.3+| cell00 3+| cell01
2.2+| cell01 | cell 01
| cell 10
|===
cell00 | cell01 | ||
cell01 | cell 01 | ||
cell 10 |
单元格对齐
使用下面的方式可以对单元格进行对齐调整:
字符 | 效果 |
---|---|
| 左对齐 |
| 右对齐 |
| 居中对齐 |
| 垂直居中 |
| 垂直和水平居中 |
| 根据内容自动调整列宽 |
|===
<| left ^| center >| right
.3+^.^| v/h center .2+.^| vcenter | cell
| cell | cell
| cell | cell | cell
|===
left | center | right |
---|---|---|
v/h center | vcenter | cell |
cell | ||
cell | cell |
单元格格式
我们可以在每个储存格的 |
的左边加上以下的字来为储存格内的文字作一些格式上的调整。
字符 | 效果 |
---|---|
| asciidoc 元素。 |
| asciidoc 内联元素。 |
| 斜体。 |
| 应用 header 语义。 |
| 应用 literal 语义。 |
| 等宽字体 |
| 粗体 |
一起看例子:
|===
e|info 01 m|info 02 s|info 03
<|info 04 >|info 05 ^|info 06
<e|info 07 <m|info 08 <s|info 09
>e|info 10 >m|info 11 >s|info 12
^e|info 13 ^m|info 14 ^s|info 15
|===
info 01 |
| info 03 |
info 04 | info 05 | info 06 |
info 07 |
| info 09 |
info 10 |
| info 12 |
info 13 |
| info 15 |
另外,在表格中的属性也可以设定每一列的格式。
|===
|info 1 |info 2 |info 3 |info 4
|info 5 |info 6 |info 7 |info 8
|===
info 1 | info 2 | info 3 | info 4 |
info 5 | info 6 | info 7 | info 8 |
表格内放置表格
我们也可以在表格内放置表格,只要在储存格前面加上 a
表示以 AsciiDoc 的格式来写,并在储存格内的表格以 !
来表示便可以了。
[cols="3"]
|===
|info 1
a|info 2
!===
!inside 1 !inside 2
!inside 3 !inside 4
!===
|info 3
|info 4 |info 5 |info 6
|===
info 1 | info 2
| info 3 | ||||
info 4 | info 5 | info 6 |
合并储存格
我们可以在每个储存格前的 |
前定义每个储存格所占的栏 (row) 数和列 (column) 数。
例子 | 说明 |
| 这个储存格占了两栏 |
| 这个储存格占了两列 |
| 这个储存格占了两栏和三列 |
例子:
|===
|info 1 |info 2 |info 3 |info 4
.3+|info 5 |info 6 2.2+|info 7
|info 8
2+|info 9 |info 10
|===
info 1 | info 2 | info 3 | info 4 |
info 5 | info 6 | info 7 | |
info 8 | |||
info 9 | info 10 |
这样看可能不够清楚,这样看便容明易多了。
在 info 5
里,由于这个储存格有三栏,所以以三行也是空白的,同样道理,info 7
这个储存格有两栏和两列,所以右边和下边也是空白的。
|===
|info 1 |info 2 |info 3 |info 4
.3+|info 5 |info 6 2.2+|info 7
|info 8
2+|info 9 |info 10
|===
最后是一个混合例子:
|===
|info 1 |info 2 |info 3 |info 4
.3+a|info 5
* list 1
* list 2
<e|info 6 2.2+a|info 7
!===
2+!sub 1 .2+!sub 2
!sub 3 !sub 4
!===
a|info 8
. number 1
. number 2
2+^s|info 9 <m|info 10
|===
info 1 | info 2 | info 3 | info 4 | |||||
info 5
| info 6 | info 7
| ||||||
info 8
| ||||||||
info 9 |
|