帮助:表格

本页使用了标题或全文手工转换,现处于马来西亚简体模式
帮助页面

表格(英语:table)是一种在页面中非常常见的内容形式,用于呈现以二维形式组织的数据。表格有专门的HTML语法,在MediaWiki中,wikitext也可以用来产生表格。在编辑原始码时,编辑工具栏中的表格按钮可以很方便地创建表格,你也可以手动输入wikitext语法来创建表格。可视化编辑器也可以创建表格,并且能够很方便地合并单元格、插入或删除行列。本页主要介绍表格的wikitext语法,不多介绍在可视化编辑器中的用法。

需要注意的是,不要滥用表格。表格一般不应当用来排版,更不应该添加花里胡哨的样式。在求闻百科中使用表格时,须遵守Qiuwen:无障碍访问方针。

基本语法

一个表格的基本语法如下:

{| class="wikitable"
|+ 标题文本
|-
! 标题文本 !! 标题文本 !! 标题文本
|-
| 示例 || 示例 || 示例
|-
| 示例 || 示例 || 示例
|}

效果如下:

标题文本
标题文本 标题文本 标题文本
示例 示例 示例
示例 示例 示例

在这个例子中,{|表示一个表格的开始,必须位于一行的开头。每个wikitext表格都是以这个符号开头的,其后接表格的基本属性。大多数表格都需要wikitable类以实现基本的格式化,因此添加class="wikitable"

其后以|+开头的是表格标题(英语:caption),标题会显示在表格的最顶部,宽度不会超过表格自身的宽度。标题是可选的,通常包含对这个表格的基本描述。

|-将表格分成了多行。每一行则是由相等数量的单元格组成。在上面的例子中,以|开头的是普通的单元格(英语:table cell);以!开头的是表头(英语:table heading),从屏幕显示中可以看出表头的背景颜色比普通的单元格略深一些,且默认会显示为居中、加粗。表头也是可选的,但通常情况下一个表格应该要有一个表头。单元格按照先分行(英语:row)后分列(英语:column)的顺序排列。

在代码的同一行内,多个单元格可以使用!!||分开,如果每个单元格一行,则单元格可以直接以!|开头。

跨列与跨行

rowspan和colspan属性分别用来表示表格的跨行和跨列。这里所说的属性应该添加在单元格的开始处,并与内容用一个“|”分开。

{| class="wikitable"
|+ 标题文本
|-
! 标题文本 !! 标题文本 !! 标题文本
|-
| rowspan="2" | 跨行文本 || 示例 || 示例
|-
| colspan=2" | 跨列文本
|}

效果如下:

标题文本
标题文本 标题文本 标题文本
跨行文本 示例 示例
跨列文本

这个跨行文本占了它下方的一行,因此在书写第二行的时候,忽略了第一列,直接开始写第二列。由于第二行的第二列跨了两列,因此第二行没有第三列。

当然,一个单元格可以同时跨列和跨行。例如:

{| class="wikitable"
|+ 标题文本
|-
! 标题文本 !! 标题文本 !! 标题文本
|-
| colspan="2" rowspan="2" | 横跨两行两列 || 示例
|-
| 示例
|-
| 示例 || 示例 || 示例
|}

效果如下:

标题文本
标题文本 标题文本 标题文本
横跨两行两列 示例
示例
示例 示例 示例

属性

你可以为表格的各个元素添加属性(英语:attribute),这些属性包括表格属性、单元格属性、行属性和表格标题属性。属性通常用来设置表格的样式,有时也可以使用其他的属性。

表格属性

表格属性添加在表格最开头的{|后面,将应用于整个表格。我们通常所添加的class="wikitable"就是应用于整个表格的。下面这个例子中,我们不添加wikitable类,而是为整个表格设置文本颜色,并添加边框。在这个例子中,整个表格都是绿色文字、蓝色边框的。

{| class="wikitable" style="color:green; border:2px dashed blue"
|-
! 标题文本 !! 标题文本
|-
| 示例 || 示例
|-
| 示例 || 示例
|}
标题文本 标题文本
示例 示例
示例 示例

单元格属性

单元格属性应用于单个单元格。单元格属性应用在单元格内容与单元格分隔符之间,并用|隔开。例如,在这个例子中,将左下角的单元格设置文本颜色并添加边框,而不影响其他的单元格:

{| class="wikitable"
|-
! 标题文本 !! 标题文本
|-
| 示例 || 示例
|-
| style="color:green; border:2px dashed blue" | 示例 || 示例
|}
标题文本 标题文本
示例 示例
示例 示例

行属性

你可以为表格的特定的行添加属性,这些属性将应用于整个行上。行属性直接添加在行分隔符|-之后。在本例中,为标题行后面的一行应用样式。

{| class="wikitable"
|-
! 标题文本 !! 标题文本
|- style="color:green; border:2px dashed blue"
| 示例 || 示例
|-
| 示例 || 示例
|}
标题文本 标题文本
示例 示例
示例 示例

表格标题属性

属性也可以应用于表格的标题。例如,CSS样式caption-side可以设置表格标题应用在表格的什么位置。

{| class="wikitable"
|+ style="color:green; border:2px dashed blue; caption-side:bottom" | 标题文本
|-
! 标题文本 !! 标题文本
|-
| 示例 || 示例
|-
| 示例 || 示例
|}
标题文本
标题文本 标题文本
示例 示例
示例 示例

样式

参见:Help:CSS

样式(英语:style)是表格内容最常见的一种属性,它主要包括了表格的各种显示方式。例如,表格如何排版布局,显示为什么颜色,这些都属性样式。定义表格样式所使用的是CSS

宽度和高度

CSS的widthheight属性可以设置表格的宽度和高度。宽度和高度的类型都属于长度,其值可以是相对值,也可以是绝对值。除非值为0,否则必须要有单位。

宽度和高度可以应用于整个表格,也可以应用于单个单元格。当应用于单元格时,其同一行或同一列的单元格的相应尺寸也会受到影响。

简单的宽度和高度

下面这个表格的宽度为80%,这是一个相对值,意味着表格将占用容器宽度的80%。其中,第一列的宽度为2em,这是一个绝对值,无论容器的大小是多少,第1列的宽度都是3em。不难推断出,第2列将占用表格的剩余的空间。

{| class="wikitable" style="width: 80%"
! 标题1
! 标题2
|-
| style="width:3em" | 1行1列
| 1行2列
|-
| 2行1列
| 2行2列
|}
标题1 标题2
1行1列 1行2列
2行1列 2行2列

此外,宽度也可以用来指定单元格的大小分配。在下面这个例子中,三个列所占的宽度分别为整个表格的宽度的20%、20%、60%。尽管第1列的文本比其他列的文本多,但是由于指定了宽度,因此内容的数量不会影响宽度。

{| class="wikitable"
! 标题1
! 标题2
! 标题3
|-
| style="width:20%" | 1行1列
| style="width:20%" | 1行2列
| style="width:60%" | 1行3列
|-
| 2行1列有很多很多文本
| 2行2列
| 2行3列
|}
标题1 标题2 标题3
1行1列 1行2列 1行3列
2行1列有很多很多文本 2行2列 2行3列

复杂的宽度与高度

在一些情况下,绝对宽度和相对宽度或高度可能都没有办法满足需求。在这种情况下,可以使用复杂的表格宽度和高度。这里仅作参考,事实上并不推荐使用过于复杂的宽度和高度。

下面这个表格的宽度为min(max(70%, 20em), 100%)。意思是,当20em的长度小于容器宽度的70%时,这个表格的宽度是20em,否则为容器宽度的70%。但是,如果容器宽度本身小比较小,以至于小于20em,那么表格的宽度就是容器宽度的100%,以免超出容器宽度。

{| class="wikitable" style="width: min(max(70%, 20em), 100%)"
|+ 标题文本
|-
! 标题文本 !! 标题文本 !! 标题文本
|-
| 示例 || 示例 || 示例
|-
| 示例 || 示例 || 示例
|}
标题文本
标题文本 标题文本 标题文本
示例 示例 示例
示例 示例 示例

下面这个表格的宽度为calc(100% - 2em)。这个很好理解,这个宽度是相对宽度和绝对宽度的混合,其宽度是容器宽度减去2em。

{| class="wikitable" style="width: calc(100% - 2em)"
|+ 标题文本
|-
! 标题文本 !! 标题文本 !! 标题文本
|-
| 示例 || 示例 || 示例
|-
| 示例 || 示例 || 示例
|}
标题文本
标题文本 标题文本 标题文本
示例 示例 示例
示例 示例 示例

表格内容的自动排版

一般情况下,如果不指定宽度,那么表格的宽度以及各单元格的宽度是自动调整的,会根据内容来进行分配。如果指定了整个表格的宽度和高度,但是没有指定单元格的宽度和高度,那么这个单元格的宽度和高度也会自动分配。

在下面这个例子中,表格的宽度不会超过40个字符的宽度,字符多的单元格会分配更宽的宽度。

{| class="wikitable" style="width: min(40em, 100%)"
|+ 自动排版的表格
|-
! 标题1 !! 标题2 !! 标题3
|-
| 这是一个很多文本的单元格,内容非常非常多,需要占用比较多的空间,以便呈现其内容。
| 内容很少的单元格
| 这个单元格的内容也比较少。
|-
| 这个内容很少。
| 内容很少的单元格。
| 这个单元格的内容也是比较少的。
|}
自动排版的表格
标题1 标题2 标题3
这是一个很多文本的单元格,内容非常非常多,需要占用比较多的空间,以便呈现其内容。 内容很少的单元格 这个单元格的内容也比较少。
这个内容很少。 内容很少的单元格。 这个单元格的内容也是比较少的。

表格对齐

一般来说,表格对齐的方式取决于皮肤默认设置,表格内部文本对齐的方式取决于其外部元素。你也可以手动定义。

表格相对外部的对齐

表格相对外部元素的对齐的方式是不确定的,会取决于不同的皮肤。margin样式可以指定表格在页面中应该如何对齐,例如下面这个例子中,表格是右对齐的:

{| class="wikitable" style="margin-left: auto; margin-right: 0"
|+ 右对齐的表格
! 标题1 !! 标题2 !! 标题3
|-
| 内容1 || 内容2 || 内容3
|-
| 内容4 || 内容5 || 内容6
|}
右对齐的表格
标题1 标题2 标题3
内容1 内容2 内容3
内容4 内容5 内容6

如果指定margin-left: 0margin-right: 0,或者直接指定margin: 0,那么表格会向居中对齐:

{| class="wikitable" style="margin: auto"
|+ 右对齐的表格
! 标题1 !! 标题2 !! 标题3
|-
| 内容1 || 内容2 || 内容3
|-
| 内容4 || 内容5 || 内容6
|}
右对齐的表格
标题1 标题2 标题3
内容1 内容2 内容3
内容4 内容5 内容6

表格内的文本的对齐

text-align样式可以指定表格内部的文本应该如何对齐。它的值通常是leftcenterright。例如:

{| class="wikitable" style="min-width: min(15em, 100%)"
|-
! 表格水平对齐演示
|-
| style="text-align:left" | 左对齐
|-
| style="text-align:center" | 居中
|-
| style="text-align:right" | 右对齐
|}
表格水平对齐演示
左对齐
居中
右对齐

text-align也支持一些特殊的值,例如startend,意思是文本书写方向的开始方向和结束方向。在中文环境下,它们分别相当于leftright,而在一些从右往左书写的文本中,则是相反的。

vertical-align属性可以设置单元格的垂直对齐:

{| class="wikitable"
! colspan="3" | 表格垂直对齐演示
|- style="height:5em"
| style="vertical-align:top" | 顶端对齐
| style="vertical-align:middle" | 中间对齐
| style="vertical-align:bottom" | 底端对齐
|}
表格垂直对齐演示
顶端对齐 中间对齐 底端对齐

表格浮动

float属性可以让表格与文字浮动。例如,将属性float: right应用于整个表格,就会有下面这样的效果:

拥有float: right样式的表格
标题 标题 标题
单元格 单元格 单元格

求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。

需要注意的是,表格浮动有个很明显的负面效果,如果屏幕本身就是比较窄的,那么浮动后留下给正方的空间就不多了,甚至没有留下空间,导致排版的问题。可以使用floatleftfloatright类,拥有此类的元素默认是会浮动的,但是如果屏幕空间比较小,则也不会浮动,从而避免影响对内容的显示。使用桌面版浏览器的读者可以尝试调整窗口大小以检查在不同大小下的显示情况。

拥有floatright类的表格
标题 标题 标题
单元格 单元格 单元格

求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。求闻百科,共笔求闻。

单元格衬距

padding属性可以设置单元格内容与其边界的距离。例如:

{| class="wikitable"
! colspan=2 | 单元格衬距演示
|-
| style="padding:2em" | 距离四周2em
| style="padding-top:3em" | 距离顶部3em
|-
| style="padding:0" | 与四周没有距离
| style="padding:1em 2em 3em 4em" | 与四周距离各不相同
|}
单元格衬距演示
距离四周2em 距离顶部3em
与四周没有距离 与四周距离各不相同

注意衬距与间距的区别:间距是单元格之间的距离,单元格本身不会占用任何间距的位置,而衬距是单元格内部的文字与单元格边距的距离,其仍属于单元格自身所占的位置。也就是说,间距在边框之外,边框在衬距之外,而衬距则在内容之外。

边框

CSS的border属性可以设置表格的边框。定义边框的时候,需要设置边框的类型、颜色和宽度。

简单边框用法

下面这个是一个最简单的用法,它给整个表格添加了一个红色的、2像素宽的实线边框:

{| class="wikitable" style="border: 2px red solid"
! 标题文本 !! 标题文本
|-
| 示例 || 示例
|-
| 示例 || 示例
|}
标题文本 标题文本
示例 示例
示例 示例

在这个例子中,border: 2px red solid相当于border-width: 2px; border-color: red; border-style: solid

此外,你也可以给单个单元格添加边框,例如在这个例子中,只给最后一个单元格添加了绿色、虚线的边框:

{| class="wikitable"
! 标题文本 !! 标题文本
|-
| 示例 || 示例
|-
| 示例 || style="border: 2px green dashed" | 示例
|}
标题文本 标题文本
示例 示例
示例 示例

移除边框

使用border: none可以给一个已经有边框的单元格移除边框。默认情况下,表格是没有边框的,但是wikitable类会自动给每个单元格添加边框。如果我们使用border: none,就可以移除掉单元格的边框。

{| class="wikitable"
! 标题文本 !! 标题文本
|-
| style="border: none" | 示例 || style="border: none" | 示例
|-
| style="border: none" | 示例 || style="border: none" | 示例
|}
标题文本 标题文本
示例 示例
示例 示例

为不同方向设置边框

表格和单元格的边框并非只能为各个方向同时设置,可以为不同的方向设置边框,甚至可以为不同的方向的边框设置属性。

border-left表示左侧的边框,它包括了border-left-colorborder-left-widthborder-left-style等属性。同样地,还有border-topborder-rightborder-bottom,分别表示上侧、右侧和下侧的边框。

此外,也可以使用border-block(包含border-block-startborder-block-end)和border-inline(包含border-inline-startborder-inline-end),表示当前书写方向的块状或者行内元素的开始或者结束方向的边框。在默认的书写模式下,块状元素是从上到下,行内元素是从左到右,因此border-block-start相当于border-topborder-block-end相当于border-bottomborder-inline-start相当于border-leftborder-inline-end相当于border-right

这个例子分别为表格定义了四个方向上的边框,上、右、下、左方向的边框分别为红色、绿色、蓝色和黑色,粗细和边框类似各不相同。

{| class="wikitable" style="border-top: 2px red solid; border-right: 3px green dashed; border-bottom: 4px blue double; border-left: 5px black inset"
! 标题文本 !! 标题文本
|-
| 示例 || 示例
|-
| 示例 || 示例
|}
标题文本 标题文本
示例 示例
示例 示例

下面这个例子类似,但是使用的是border-blockborder-inline,因此在不同的书写模式下,其边框所应用的方向也是不同的。

{| class="wikitable" style="border-block-start: 2px red solid; border-inline-end: 3px green dashed; border-block-end: 4px blue double; border-inline-start: 5px black inset"
! 标题文本 !! 标题文本
|-
| 示例 || 示例
|-
| 示例 || 示例
|}

为了便于演示,这里以水平文本(默认情况)和垂直文本的形式分别展示这个表格:

标题文本 标题文本
示例 示例
示例 示例
标题文本 标题文本
示例 示例
示例 示例

你还可以指定不同方向的边框的同一种属性。和大多数CSS属性一样,遵循“上、右、下、左”的顺序。在下面这个例子中,表格的所有方向的边框都是2px宽的实线,但是各个方向的颜色均不相同:

{| class="wikitable" style="border: 2px solid; border-color: orange greenyellow navy magenta"
! 标题文本 !! 标题文本
|-
| 示例 || 示例
|-
| 示例 || 示例
|}
标题文本 标题文本
示例 示例
示例 示例

留意边框与宽度

通常情况下,表格等块状元素的宽度和高度可能不包括边框,因此如果添加了边框,其实际的宽度和高度可能会超过指定的值。如果块状元素的宽度和高度超过的指定的值,可以设置box-sizing属性,以指定其宽度和高度是否包括了边框。

15em宽度参考,无边框
15em + 15px边框,box-sizing为默认
15em + 15px边框,box-sizing = content-box
15em + 15px边框,box-sizing = border-box

背景

background-color样式可以设置表格的填充,background是一系列样式的简写。有两个单元格添加了背景颜色,分别是浅绿色和青色。

{| class="wikitable"
|-
! 标题文本 !! 标题文本
|-
| style="background-color: lime" | 示例 || 示例
|-
| 示例 || style="background-color: cyan" | 示例
|}
标题文本 标题文本
示例 示例
示例 示例

无障碍考虑

在使用表格时,须考虑表格的无障碍(英语:accessibility),确保表格在不同的显示设备上也能够正常地显示,同时在辅助技术(例如盲文)中也可以正常地呈现。

良好的表格标题语义

表示表格标题时,应该使用专门的表格标题(以!开头的内容),而不是使用手动加粗的方式来使它看上去像个标题。这是因为,表格标题除了具有显示样式之外,还能够表示这是一个表格标题,从样式上能够做到形式统一,同时也有助于辅助技术对表格的解析。

错误使用表格标题的例子:

{| class="wikitable"
|- style="text-align: center"
| '''标题文本''' || '''标题文本''' || '''标题文本'''
|-
| 示例 || 示例 || 示例
|-
| 示例 || 示例 || 示例
|}

正确使用表格标题的例子:

{| class="wikitable"
|-
! 标题文本 !! 标题文本 !! 标题文本
|-
| 示例 || 示例 || 示例
|-
| 示例 || 示例 || 示例
|}

此外,还可以添加scope="col"scope="row"属性来表示这是一个列标题或者行标题,这样辅助技术在使用表格时,能够更好的理解。

{| class="wikitable"
|-
! 
! scope=col | 列标题1
! scope=col | 列标题2
|-
! scope=row | 行标题1
| 示例 
| 示例
|-
! scope=row | 行标题2
| 示例 
| 示例
|}
列标题1 列标题2
行标题1 示例 示例
行标题2 示例 示例

合适的内容

表格通常是用来呈现数据的,并不适合用来去呈现大量的内容。如果需要呈现大量内容的,最好的办法是直接使用文字来表述。而且,如果表格的列数比较多,而单元格的内容也比较多的话,那么每个单元格需要显示大量的内容但又分配了很少的空间,这对于内容的显示也是不利的。

表格并非用来排版的

很多人可能会喜欢使用表格来对内容进行排版。例如,如果要显示左右两侧的内容,那么他可能会这么写:

您所输入的
{|
| 左边的内容。左边的内容。左边的内容。左边的内容。
| 右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。
|}
您所看到的

左边的内容。左边的内容。左边的内容。左边的内容。 右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。

这样做的缺点就是:表格自身已经预设有边距、衬距等属性,这会对内容的排版造成不利的影响。此外,表格会对辅助工具呈现为表格,对于使用辅助工具的用户来说,这就有可能造成困惑。对内容进行排版的最好的方式,是使用CSS的flex和grid布局,这两种布局都非常强大且非常灵活。使用CSS来模拟表格也是一种选择,但是这样子也存在一些限制。

您所输入的
<div style="display: flex">
<div style="flex: 1">左边的内容。左边的内容。左边的内容。左边的内容。</div>
<div style="flex: 1">右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。</div>
</div>
您所看到的

左边的内容。左边的内容。左边的内容。左边的内容。
右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。
您所输入的
<div style="display: grid; grid-auto-flow: column">
<div>左边的内容。左边的内容。左边的内容。左边的内容。</div>
<div>右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。</div>
</div>
您所看到的

左边的内容。左边的内容。左边的内容。左边的内容。
右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。
您所输入的
<div style="display: table-row">
<div style="display: table-cell">左边的内容。左边的内容。左边的内容。左边的内容。</div>
<div style="display: table-cell">右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。</div>
</div>
您所看到的

左边的内容。左边的内容。左边的内容。左边的内容。
右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。

如果确实需要用来排版,请给表格元素添加role="presentation",使得辅助工具将其识别为普通的内容,而非将其作为表格看待。从外观上,这个和前面的例子没有区别,但是如果启用辅助工具,例如屏幕阅读器,那么这些内容就会被直接阅读,而非作为表格阅读。

您所输入的
{| role="presentation"
| 左边的内容。左边的内容。左边的内容。左边的内容。
| 右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。
|}
您所看到的

左边的内容。左边的内容。左边的内容。左边的内容。 右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。右边的内容。

不使用过时的属性

在旧版本的HTML中,表格支持一些HTML属性,以支持控制内容的格式。在当前版本的HTML规范中,这种方式虽然仍支持,但是已经是过时了。因此,请不要再使用任何过时的语法。所有的样式都应该使用style属性来控制。请看这个示例:

错误的写法:
{| class="wikitable"
! 标题文本 !! width="250" 标题文本
|- bgcolor="red"
| align="center" valign="top" | 示例 || 示例
|-
| 示例 || border="2" bordercolor="navy" bgcolor="cyan" | 示例
|}
正确的写法:
{| class="wikitable"
! 标题文本 !! style="width:250px" 标题文本
|- style="background-color: red"
| style="text-align: center; vertical-align: top" | 示例 || 示例
|-
| 示例 || border: 2px navy solid; background-color: cyan | 示例
|}

以下表格列举了各过时HTML属性与CSS属性之间的关系,请在编辑时,将表格中的过时属性替换为符合HTML规范的CSS属性(有点属性虽然有效,但事实上是没有必要使用的,可以直接移除)。

对照表
过时的HTML属性 规范的CSS属性 过时HTML属性示例 规范CSS属性示例 说明
width
height
width
height
width="200" height="80" style="width: 200px; height: 80px [注 1]
align
valign
text-align
vertical-align
align="left" valign="top" style="text-align: left; vertical-align: top"
bgcolor background-color bgcolor="red"
bgcolor="FF0000"
style="background-color: red"
style="background-color: #FF0000"
[注 2]
border
bordercolor
border-width
border-color
border="1" bordercolor="red" style="border: 1px red solid" [注 1][注 2][注 3]
cellspacing border-spacing cellspacing="3" style="border-spacing: 3px [注 1]
cellpadding padding cellpadding="3" style="padding: 3px" [注 1][注 3]
frame border-styleborder-width
rules border-styleborder-width

注释

  1. 1.0 1.1 1.2 1.3 HTML属性中的单位默认为像素(px),而在CSS属性中,长度值除了零值外必须指定单位,否则为无效值。
  2. 2.0 2.1 CSS属性中的十六进制颜色值必须带有井号,否则无效。
  3. 3.0 3.1 需要将属性添加在各个单元格上才能实现完整效果,而非应用在表格本身或者应用在行上。