📄 rfc1942.txt
字号:
CAPTION元素是可选的元素,它用来给表格提供一个标题,需要起始和结束标记成对使用。
ID, CLASS, LANG and DIR
参见前文中其他元素的该属性定义
ALIGN
该属性可以用来控制表格标题相对于表格的位置。当使用ALIGN属性的时候,该属性应该
是下列的几个值之一:TOP, BOTTOM, LEFT及RIGHT。我们推荐标题应该和表格的宽度
或高度保持一致。我们还特意不对标题的默认位置做出具体的规定。
请注意ALIGN属性在HTML中被过度地使用了,但是为了和现有的浏览器兼容,我们在这
里仍然使用了该属性。
4.7 COLGROUP元素
<!ELEMENT colgroup - O (col*)>
<!ATTLIST colgroup
%attrs; -- id, lang, dir及class --
span NUMBER 1 -- 组里面默认的 --
-- 列的数目 --
width CDATA #IMPLIED -- 所包含的COL --
-- 的默认宽度 --
%cell.halign; -- 单元格中的 --
-- 水平对齐设置 --
%cell.valign; -- 单元格中的垂直对齐设置 --
>
COLGROUP元素就像一个容器,来容纳一组列,并允许你能够给这些列设置默认的属性。
如果没有使用COLGROUP元素,表格中所有的列都被假定认为属于同一个列的组。每一
个COLGROUP元素能够容纳0个或更多的COL元素。COLGROUP需要一个起始的标记,
但是结束标记可以省略。这在定义一系列的COLGROUP元素的时候特别有用。例如
<TABLE FRAME=BOX RULES=COLS>
<COLGROUP>
<COL WIDTH="1*">
<COL WIDTH="2*">
<COLGROUP>
<COL WIDTH="1*">
<COL WIDTH="3*">
<THEAD>
<TR> ...
</TABLE>
COLGROUP可以具有以下这些属性:
ID, CLASS, LANG和DIR
参见前文中其他元素的该属性定义。
SPAN
用一个正整数的值来表示在这个组里面默认的有多少列。如果COLGROUP元素中含有一
个或更多的COL元素的话,那么这个属性应该被忽略。该属性提供了一种方便的方法来组
织列,而不用指定COL元素。
WIDTH
为一个组中的列指定一个默认的宽度值,参见标准单位。另外,可以使用"*"来说明相对宽
度。例如
width=64 用屏幕像素表示的宽度
width=0.5* 0.5的相对宽度
相对宽度可以看作是各个不同列的之间的相对宽度的一个约束。如果一个COLGROUP元
素指定了一个值为0的相对宽度,那么这个组里面的所有列都会被按照它们最小的宽度进
行设定,除非它们被一个带WIDTH属性的COL元素另外做出规定。如果宽度是按照绝对
单位给出的,用户端可以用这个宽度来约束表格的宽度。"*"后缀用来简化导入那些使用
CALS表述方式的表格的工作。
ALIGN, CHAR, CHAROFF and VALIGN
指定表格单元格内部的水平和垂直对齐属性。请参看对齐属性的继承顺序。
4.8 COL元素
<!ELEMENT col - O EMPTY>
<!ATTLIST col -- 列构成的组以及--
-- 它们的属性 --
%attrs; -- id, lang, dir和class --
span NUMBER 1 -- 组中所跨越的--
-- 列的数目--
width CDATA #IMPLIED -- 列的宽度说明--
%cell.halign; -- 单元格中的--
-- 水平对齐属性 --
%cell.valign; -- 单元格中的垂直对齐属性 --
>
该可选的元素用来指定表格中列的默认设置。该元素是一个空元素,不含有内容,所以也不
会有结束标记。可以连续给出多个COL元素。COL的属性将会覆盖包含它们的COLGROUP
元素的本身属性。
ID, CLASS, LANG和DIR
参见前文中其他元素的该属性定义。
SPAN
用一个正整数的值来表示在这个元素影响的列的数目,默认为一个。如果不指定SPAN属
性的话,那么第一个COL元素将应用到第一个列,第二个元素应用到第二个列,以此类推。
如果第二个元素指定SPAN=2,那它将会应用到第二和第三个列。接下来的COL元素则应
用到第4个列,并这样继续下去。特别地,如果用SPAN=0,这意味着COL元素将应用到
从当前列直到最后列之间的所有列。需要注意的是一个COL SPAN并不定义一个组。它主
要是用来共享属性的定义。
WIDTH
定义列的宽度,参见标准单位。如果该元素跨越了若干个列,那么WIDTH属性指定的是每
个独立的列的宽度,而不是整个跨越的宽度。此外,可以使用"*"后缀来说明相对宽度。
例如
width=64 用屏幕像素表示的宽度
width=0.5* 0.5的相对宽度
相对宽度可以看作是各个不同列的之间的相对宽度的一个约束。如果一个COL元素指定了
一个值为0的相对宽度,那么该列会按照它最小的宽度进行设定。如果宽度是按照绝对单
位给出的,用户端可以用这个宽度来约束表格的宽度。当导入那些使用CALS表述方式的
表格时,使用"*"后缀来简化导入工作。
ALIGN, CHAR, CHAROFF和VALIGN
指定表格单元格内部的水平和垂直对齐属性。请参看对齐属性的继承顺序。
4.9 表格的表头,表体和脚注元素
<!ELEMENT thead - O tr+>
<!ELEMENT tfoot - O tr+>
<!ELEMENT tbody O O tr+>
<!ATTLIST (thead|tbody|tfoot) -- 表格部分 --
%attrs; -- id, lang, dir和class --
%cell.halign; -- 单元格中的--
-- 水平对齐属性 --
%cell.valign; -- 单元格中的垂直对齐属性 --
>
表格可以分为表头和表体部分。THEAD和TFOOT元素是可选的,但是一个或更多的
TBODY元素却是必须的。如果一个表格只包含TBODY部分,那么TBODY的开始和结束
标记可以省略,因为处理程序可以猜到这些元素。如果有一个THEAD元素的话,那么必须
使用THEAD的起始标记,而如果后面紧跟着一个TFOOT或者是TBODY的起始标记的话,
THEAD的结束标记可以被省略。同样的,这也适用于TFOOT标记。
注意,这里的定义也为那些按照旧的模型建立的表格提供了兼容性,如果有THEAD的结束
标记,TFOOT和TBODY也可以被省略。
THEAD,TFOOT以及TBODY元素为表格的显示提供了一种更加方便的控制方法。如果表
格正文有很多行,用户端代理可能会使用一个可以滚动的区域来容纳表体正文。当表格输出
到一个使用分页机制的设备上时,表格必须在页边界的地方断开。THEAD,TFOOT以及
TBODY元素能够让用户端在每一页的末尾都显示表格的脚注,而在页的开头显示表格的标
题,中间则是连续显示表格的正文。
在标记的摆放顺序上,TFOOT标记在TBODY前面,这样浏览齐可以在接受到所有的表格
数据前就开始显示脚注。这在将那些十分长的表格显示在滚动区域时或者是将表格分割成很
多页,进行分页输出的时候特别有用。
每一个THEAD,TFOOT以及TBODY元素都必须包括一个或更多的TR元素。
ID, CLASS, LANG和DIR
参见前文中其他元素的该属性定义。
ALIGN, CHAR, CHAROFF和VALIGN
指定表格单元格的水平和垂直对齐属性,参见对齐属性的继承顺序。
4.10 表格的行(TR)元素
<!ELEMENT tr - O (th|td)+>
<!ATTLIST tr -- 表格的行 --
%attrs; -- id, lang, dir以及class --
%cell.halign; -- 单元格的--
-- 水平对齐属性 --
%cell.valign; -- 单元格的垂直对齐属性 --
>
TR或者说表格的行元素可以看作是表格中一行单元格的容器。结束标记可以被省略。
ID, CLASS, LANG和DIR
参见前文中其他元素的该属性定义。
ALIGN, CHAR, CHAROFF和VALIGN
指定表格单元格的水平和垂直对齐属性,参见对齐属性的继承顺序。
4.11 表格单元格: TH以及TD
<!ELEMENT (th|td) - O %body.content>
<!ATTLIST (th|td) -- 标题头或者单元格 --
%attrs; -- id, lang, dir以及class --
axis CDATA #IMPLIED -- 默认为单元格的内容 --
axes CDATA #IMPLIED -- axis名字的列表 --
nowrap (nowrap) #IMPLIED -- 禁止文字换行 --
rowspan NUMBER 1 -- 单元格跨越的行的--
-- 数目 --
colspan NUMBER 1 -- 单元格跨越的列的 --
-- 数目 --
%cell.halign; -- 单元格的水平 --
-- 对齐属性 --
%cell.valign; -- 单元格的垂直对齐属性 --
>
TH元素用来表示表头单元格,而TD元素用来表示表格的数据。这让用户端即使在没有式
样表的情况下,也可以清楚地区分表头和正文的单元格。
单元格可以跨越多行或多列,也可以为空。跨越多行的单元格也计入每一个跨越的行中的列
的总的数目,但只在标记中出现一次(在第一个跨越的行中)。行的数目是由TR元素的数
目所决定的。除此以外,任何由单元格跨行而产生的行将被忽略。
如果一个表格的列的数目比在某一行中的单元格的数目要多(因为包括了跨行的单元格),
缺少的单元格将显示在表格的右边,并作为空单元格看待。如果语言属性指定为从右到左的
显示顺序,那么缺少的单元格就显示在表格的左边。
我们还可以创建带有重叠单元格的表格,如下所示:
<table border>
<tr><td rowspan=2>1<td>2<td>3
<tr><td rowspan=2>4
<tr><td colspan=2>5<td>6
</table>
显示的效果如下:
/-----------\
| 1 | 2 | 3 |
| |-------|
| | 4 | |
|---|...|---|
| 5 : | 6 |
\-----------/
在这个例子里,标为4和5的单元格互相重叠了。在这种情况下,如何进行显示将由各用
户端独立处理。
单元格的AXIS和AXES属性使得我们可以为单元格定义简洁的标记。当将表格转化为语音
的时候,这些属性可以用来针对表头为每个相应的单元格提供简短的名字。另一种情况是,
当你将来想处理表格的内容,并将它们导入到数据库的时候。这些属性可以被用来定义为数
据库的字段名。表格的类属性可以让软件来辨认哪些表格可以这样处理。
ID, CLASS, LANG和DIR
参见前文中其他元素的该属性定义。
AXIS
该属性为表头单元格定义了一个简短的名字,例如可以在将此表格转化为语音的时候使用。
默认为表格的内容
AXES
该属性是一个用逗号分割的axis名字的列表,指明了适用于该单元格的行和列标题头的内
容。举例来说,当将表格转化为语音的时候,可以用该属性来确定单元格在表格中的位置。
如果没有该属性,用户端将试图察看其所在的列或同行的左边单元格(对某些语言来说是右
边的单元格)的设置来查找相应的表头单元格。
NOWRAP, 例如:<TD NOWRAP>
如果使用该属性,将迫使其所在的单元格里的文字不进行自动换行。如果随便使用的话,可
能会导致非常宽的单元格。该属性是为了保留对旧的浏览器的兼容性而设置的。如果使用式
样表的话可以有更好的控制(例如对文字溢出的处理控制)。
ROWSPAN, 例如:<TD ROWSPAN=2>
该属性用一个正整数来指明该单元格跨越了多少行。默认的ROWSPAN数目是1。特别地,
ROWSPAN=0将使得该单元格从现在所在行开始跨越到表格的最后一行。
COLSPAN, 例如:<TD COLSPAN=2>
该属性用一个正整数来指明该单元格跨越了多少列。默认的COLSPAN数目是1。特别地,
COLSPAN=0将使得该单元格从现在所在列开始跨越到表格的最后一列。
ALIGN, CHAR, CHAROFF和VALIGN
指定表格单元格的水平和垂直对齐属性,参见对齐属性的继承顺序。
请注意:我们建议那些应用者对TH和TD的Netscape1.1宽度属性提供支持,虽然这并不
是本方案的内容。我们也建议文档的创建者用COL元素的宽度属性来进行替代。
5.推荐的布局算法
如果TABLE元素中的COLS属性指定了列的数目,那么表格就可以按照一个固定的布局进
行显示,否则,将要使用下面所描述的自动布局算法。
5.1 固定布局算法
对这种算法而言,它假定列的数目是已知的。列的宽度默认地被设置为同样地大小。创建者
可以通过使用COLGROUP或COL元素来指定相对或绝对的列宽以覆盖该数值。表格的默
认宽度是当前左右边界之间的距离,但是也可以被TABLE元素的WIDTH属性的值所改变,
或者由列的绝对宽度的数值所决定。如果列既包含了绝对宽度,也包含了相对宽度,那么第
一步是要将表格的宽度减去用绝对宽度定义的列的总宽,然后剩下的宽度再按照相对宽度定
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -