基本应用

这是最简单的应用:表格的第一行决定了这个表格有多少列。

|===
|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]
|===
|header 1 |header 2 |header 3

| row | row | row
| row | row | row
| footer | footer | footer
|===
header 1header 2header 3

row

row

row

row

row

row

footer

footer

footer

标题

可以为表格添加一个标题:

.table title
|===
|header 1 |header 2 |header 3

| row | row | row
|===
Table 1. table title
header 1header 2header 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
|===
leftcenterright

v/h center

vcenter

cell

cell

cell

cell

单元格格式

我们可以在每个储存格的 | 的左边加上以下的字来为储存格内的文字作一些格式上的调整。

字符效果

a

asciidoc 元素。

d

asciidoc 内联元素。

e

斜体。

h

应用 header 语义。

l

应用 literal 语义。

m

等宽字体

s

粗体

一起看例子:

|===
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 02

info 03

info 04

info 05

info 06

info 07

info 08

info 09

info 10

info 11

info 12

info 13

info 14

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

inside 1

inside 2

inside 3

inside 4

info 3

info 4

info 5

info 6

合并储存格

我们可以在每个储存格前的 | 前定义每个储存格所占的栏 (row) 数和列 (column) 数。

例子

说明

2+

这个储存格占了两栏

.2+

这个储存格占了两列

2.3+

这个储存格占了两栏和三列

例子:

|===
|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

  • list 1

  • list 2

info 6

info 7

sub 1

sub 2

sub 3

sub 4

info 8

  1. number 1

  2. number 2

info 9

info 10

Last moify: 2022-12-04 15:11:33
Build time:2025-07-18 09:41:42
Powered By asphinx