📄 rfc1942.txt
字号:
LANG
LANG属性指明了该元素的内容所使用的语言种类。关于语言的种类和有关语法在RFC
1766中做出了定义。概括地说,LANGUAGE的值由一个首标记构成,后面可以跟0个或
更多的子标记,中间用"-"隔开。不允许在其中出现空格,而且所有的标记都是大小写敏感的。
这些标记由IANA制订。两个字母的首标记是一个ISO 639中规定的语言缩写,而第一个子
标记是两个字母组成的,由ISO 3166规定的国家代码。以下是一些LANG属性的示例值:
en, en-US, en-uk, i-cherokee, x-pig-latin.
DIR
人类的书写系统是由一系列的文字组成,这其中主要的区别就是文字的书写方向。拉丁语系
的文字通常是从左到右书写的,而阿拉伯语系的文字是从右到左的。这些字符都有很强的方
向性。其他的字符则没有方向性(比如空格)或者是没有明显的方向性(比如标点符号)。
DIR属性为在解释方向性不明确的字符过程中指明了封装的边界。它并不影响那些具有方向
性的字符本来的方向。DIR属性的值可以是LTR(既从左到右),也可以是RTL(从右到
左)。例如:DIR=RTL。
当对TABLE应用该属性的时候,它将会确定行的几何布局(比如说,如果DIR=RTL的行,
第一行将会在右边显示,而如果DIR=LTR的话,则显示在左边)。而且如果没有其他的
DIR属性来影响单元格中的内容的话,它还将指明单元格中文字的默认排列方向。
4.2 Horizontal和Vertical对齐属性
表格内容的对齐既可以通过一个单元格一个单元格进行指定,也可以从包含其的元素继承过
来,比如说从行,列或者该表格元素本身。
ALIGN
这个属性定义了单元格内容的水平对齐方式。
<!—单元格内容的水平对齐属性 -->
<!ENTITY % cell.halign
"align (left|center|right|justify|char) #IMPLIED
char CDATA #IMPLIED – 对齐的字符, 例如: char=':' --
charoff CDATA #IMPLIED – 对齐字符的偏移 --"
>
该属性的值应该为LEFT,CENTER,RIGHT,JUSTIFY或CHAR中的一个。如果用户端
不支持两端对齐的话,它将把JUSTIFY简单地理解为左对齐。
对于那些跨行或跨列的单元格来说,它们的对齐属性是从行或列继承过来的。该单元格起始
的行或列的对齐方式决定了它们将采用的对齐方式。
请注意,单元格内部的元素的对齐属性,例如一个P元素,将会覆盖该单元格本来的对齐
属性。
CHAR
当对齐属性为align=char的时候,用CHAR来指定对齐的字符,例如:char=":"。默认的对
齐字符是LANG属性所指定的当前语言中的小数点,CHAR属性的值是大小写敏感的。
CHAROFF
如果一行中有指定的对齐字符,使用该属性可以指定该行中第一次出现的对齐字符的偏移
量。如果该行中没有包括该指定的字符,就应该水平地和对齐的位置保持一致。根据DIR
属性所指定的单元格里面内容的方向,来确定指定的偏移量是从单元格的左边还是右边开
始。对于拉丁语系来说,偏移量是从单元格的左边距算起;而对于阿拉伯文字来说,则应该
是从右边开始算起。除了使用标准的距离单位外,也可以通过使用"%"符号来指定偏移量为
所在单元格宽度的百分比。例如CHAROFF="30%",指定了对齐的字符应该在该单元格宽
度30%的位置。
在使用上文所提到的两种布局的算法的时候,如果没有明确地指出或继承CHAROFF的属
性的话,默认的对齐位置可以这样确定:确认带有ALIGN=CHAR的列中各行数据在指定的
对齐字符前或后的最大宽度,并将对齐位置确定为能让这些值居中放置。对于逐行显示的表
格来说,建议的默认值是CHAROFF="50%"。如果在不同行中某一列里,只有一部分单元
使用了字符对齐属性。那么默认地,所有的单元格都将统一排列,而不管哪个字符被用来指
定为对齐字符。因为如果数据超过了所分配的列的宽度,而对齐的属性又不够明确的话,对
于列来说,处理对象所需要涉及的划线将会变得非常复杂。
VALIGN
该属性定义单元格内容是根据单元格顶部对齐,还是中间对齐,或是底部对齐。
<!—单元格内容的垂直对齐属性 -->
<!ENTITY % cell.valign
"valign (top|middle|bottom|baseline) #IMPLIED"
>
如果使用该属性,该属性的值应该是TOP,MIDDLE,BOTTOM或者是BASELINE中的一
种。在同一行中使用valign=baseline的所有单元格都将垂直对齐,这样,每个单元格中的
第一行文字都会对齐于同一条基线。但这并不影响到这些单元格里面其他行文字。
4.3 继承顺序
绝大部分的表格元素都能使用这些对齐属性,包括COL,THEAD,TBODY,TFOOT,TR,
TH以及TD。当在进行单元格布局的时候,列的水平对齐属性要优先于行的水平对齐属性,
而对于垂直对齐来说,行的垂直对齐属性的优先级要高于列。下面这张表详细地说明了每个
属性的优先级顺序。
表中X>Y表示X的优先级要高于Y。
ALIGN, CHAR 及 CHAROFF:
单元格 > 列 > 列构成的组 > 行 > 行构成的组 > 默认的属性
VALIGN, LANG 及 DIR:
单元格 > 行 > 行构成的组 > 列 > 列构成的组 > 表格 > 默认的属性
这里所说的单元格是由TH或TD元素定义的;行由TR元素定义,行构成的组由THEAD,
TBODY和TFOOT元素定义,列则由COL元素定义,列构成的组由COLGROUP和COL
元素定义。请注意这里所提到的继承机制并不适用于CLASS属性。
在单元格上的定义的属性将优先于继承得来的属性,但却会被单元格内部的元素的对齐属性
所覆盖。如果在上面提到的这些元素中没有指明ALIGN属性的话,对表格单元格推荐的默
认对齐方式是:表格数据是ALIGN=LEFT,表头是ALIGN=CENTER。垂直对齐属性推荐
默认对齐为VALIGN = MIDDLE。之所以选择这样的默认值是因为这些能够适应大多数的
Netscape的应用方案。
4.4 宽度计量的标准单位
有多个属性通过用一个带有可选的后缀的数字来表示宽度。宽度的单位用该后缀来表示:
pt是points(点),pi是picas(像素),in代表inches(英寸),cm表示centimeters(厘
米),mm表示millimeters(毫米),em代表em单位(和默认的字体的高度相等),px
则表示屏幕的像素。数字是一个整数或者是实数比如"2.5"。指数,象"1.2e2"这样的数字是
不允许的。在数字和后缀间不允许出现空格。
对特定的元素来说,以上这些后缀还可以进行扩充:TABLE标记的WIDTH属性可以使
用"%"。它用来指定距离左边界和右边界的宽度的百分比。例如width="50%"。对COL元素
来说,WIDTH属性可以使用"*"来指定列的相对宽度,比如width="3*",这和CALS表格模
型中的表示方法是一样的。
4.5 TABLE标记
<!ENTITY % Where "(left|center|right)">
<!ELEMENT table - - (caption?, (col*|colgroup*), thead?, tfoot?, tbody+)>
<!ATTLIST table -- 表格标记 --
%attrs; -- id, lang, dir 以及 class --
align %Where; #IMPLIED -- 表格位置 ,相对于 --
-- 窗口 --
width CDATA #IMPLIED -- 相对于窗口的表格宽度 --
cols NUMBER #IMPLIED -- 用于立即显示内容的方式--
border CDATA #IMPLIED -- 控制表格范围内的 --
-- 框架结构 --
frame %Frame; #IMPLIED -- 包括表格哪一部分的 --
-- 框架 --
rules %Rules; #IMPLIED -- 控制单元格间的划线 --
cellspacing CDATA #IMPLIED – 单元格间的距离 --
cellpadding CDATA #IMPLIED – 单元格内部的间隔距离 --
>
TABLE标记需要将开始和结束标记成对使用。表格标记由一个可选的CAPTION标记开头,
后面可以跟着一个或更多的COL标记,也可以是一个或更多的COLGROUP标记,然后是
可选的THEAD,TFOOT标记,最后是一个或更多的TBODY标记。
ID, CLASS, LANG and DIR
参见前文对这些属性的描述。
ALIGN
定义表格相对于当前的左边界和右边界的水平位置。ALIGN=CENTER将让表格居于左右边
界的中间,ALIGN=LEFT让表格位于左边界,而ALIGN=RIGHT让表格靠近右边界。当表
格使用ALIGN=LEFT时,用户端可能会让文字环绕在表格的右边,而ALIGN=RIGHT时,
文字环绕在表格的左边。
请注意如果你对表格使用了ALIGN=LEFT属性,而又不想让文字环绕表格的话,你可以在
表格标记的后面使用<BR CLEAR=LEFT>。同样如果表格右对齐的话,则需要用<BR
CLEAR=RIGHT>。为了防止一个右对齐的表格环绕在其他什么东西旁边,可以在表格前面
使用<BR CLEAR=RIGHT>。通过使用式样表,可以更好地对文字流进行控制。
WIDTH
指定表格希望的宽度。除了使用标准单位来定义宽度之外,还可以使用"%"符号来指定距离
左右边界的空白的宽度,例如width="50%"。如果不指定该属性的话,表格的宽度将由后面
所给出的布局算法来决定。
即使明确地指定了表格的宽度,我们仍然建议表格的宽度可以被扩大以便能避免单元格内容
的溢出。这里对表格宽度的增加应该尽量避免过多地改变创建者事先所指定的列的相对宽
度。为了避免产生过多的水平卷动,或是产生不切实际或不希望出现的水平卷动时,应该将
文字分为多行显示。
COLS
该属性定义了表格中所含有的列的数目。如果包含该属性的话,用户端将能够在从网络上接
受到数据后就开始动态显示表格,而不用等到所有的表格数据都传输完成后才开始。如果没
有指明WIDTH属性,在这种情况下,宽度将默认地被假设为"100%"。如果没有指定COLS
属性,那么就需要一个根据表格的内容预先设置的方案来决定列的数目,以及每一个列的合
适的宽度值。
BORDER
指定表格框线的宽度,参见标准单位。
FRAME
指定哪一边的框线需要显示。
<!ENTITY % Frame
"(void|above|below|hsides|lhs|rhs|vsides|box|border)">
VOID
不显示任何一边的框线。
ABOVE
顶端的框线
BELOW
底部的框线
HSIDES
顶部和底部的框线
LHS
左边的框线
RHS
右边的框线
VSIDES
左边和右边的框线
BOX
所有的四周的框线
BORDER
所有的四周的框线
"Border"值是为了保持对旧的浏览器的兼容性而保留的。如果一个文档里面包含了<TABLE
BORDER>,用户端将把它看成是FRAME=BORDER及BORDER=_implied_。如果文档
包含的是<TABLE BORDER=_n_>,那么用户端会将这个认为是FRAME=BORDER,而如
果_n=0_,则会理解为FRAME=VOID。
请注意:如果FRAME的取值能够和RULES属性以及对齐属性的取值能够保持一致的话,
那将会更加合理。例如:none, top, bottom, topbot, left, right, leftright, all。但是,不幸的是,
SGML要求每个元素的取值都必须区别于其他元素。这就给"none", "left", "right" 及"all"带来
了问题。FRAME选择这些值以避免和RULES,ALIGN以及VALIGN属性发生矛盾。这为
将来的试验保留了一种选择,因为我们估计,在将来对本方案进行修改的时候,其他的表格
元素也将会被赋予FRAME和RULES属性。HTML-MG中大多数意见认为,如果能够使用
SGML的校验工具根据列举的值来检查属性,那么这所带来的好处将超过对名称的一致性
的需求。
RULES
指定在什么地方来显示表格内部的线条。
<!ENTITY % Rules "(none | groups | rows | cols | all)">
NONE
禁止显示内部的线条。
GROUPS
THEAD,TFOOT以及TBODY元素将表格按行划分为不同的组,而COLGROUP元素将
表格按列划分为不同的组。该属性将能够在每一个由行构成的组之间显示一条水平线,而在
每一个由列构成的组之间显示一条垂直线。需要注意的是每一个表格最少有一个由行构成的
组,一个由列构成的组。
ROWS
由于RULES=GROUPS将在所有的行之间显示水平线。用户端可以在行或列构成的组之间
突出显示一条粗线。
COLS
由于RULES=GROUPS将在所有的列之间显示垂直线。用户端可以在行或列构成的组之间
突出显示一条粗线。
ALL
在所有的行和列之间都显示线条。用户端可以在行或列构成的组之间突出显示一条粗线。
如果一个文档包括<TABLE BORDER>或者<TABLE BORDER=_n_>,那么表格元素的默认
值是RULES=ALL,而如果_n=0_,那么相应地RULES=NONE。
CELLSPACING
该属性是用来保留对旧的浏览器的兼容性的。它指定了表格框架间、每一行或列中的第一个
或最后一个单元格和表格边框的距离,以及表格中其他单元格之间的距离。参见标准单位。
通过使用式样表可以对该属性有更好的控制。
CELLPADDING
该属性是用来保留对旧的浏览器的兼容性的。它指定了单元格边线和它内部的内容四周的距
离大小。参见标准单位。通过使用式样表可以对该属性有更好的控制。
如果表格或列设定了固定的宽度,CELLSPACING和CELLPADDING可能会比所指定的值
需要更多的空间。实践经验显示,如果和WIDTH的属性发生冲突的话,后者会具有更高的
优先级。虽然这并不是本方案所规定为必须的。
4.6 表格标题
<!ELEMENT caption - - (%text;)+>
<!ENTITY % Caption "(top|bottom|left|right)">
<!ATTLIST caption -- 表格标题 --
%attrs; -- id, lang, dir及class --
align %Caption; #IMPLIED – 相对于表格 --
>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -