这个元素支持在HTMLElement
所有HTML元素派生的接口上定义的所有方法。另外,它支持以下方法:
deleteCell()
从行的cells
集合中删除指定数字索引处的单元格。
insertCell()
创建一个新元素并将其插入到表格的单元格列表中。您可以选择指定单元格列表中要插入单元格的偏移量,但值为-1(默认值)表示“在行末尾”。
以下属性仍然可以在浏览器中实现,但不再是HTML规范的一部分,可能会丢失,也可能无法正常工作。他们应该避免。
align
由于HTML5 ADOMString
已经过时,它指定了单元格的上下文应该如何在行中的单元格内水平对齐; 这是align
在行中的每个单元格上单独使用的简写。可能的值是:left
将每个单元格的内容对齐左边缘。
center
将每个单元格的内容置于左右边缘之间。
right
将每个单元格的内容与其右边缘对齐。
justify
在每个单元格的文本内扩展空格,以便文本填充每个单元格的全部宽度(完全对齐)。
char
将行中的每个单元格与特定字符对齐(例如,以这种方式配置的列中的每一行将水平对齐该字符上的单元格)。
这使用char
和charoff
建立对齐字符(对齐数字数据时通常使用“。”或“,”)和对齐字符后面的字符数。这种对齐类型从来没有广泛的支持。
而不是使用过时的align
属性,则应该使用的CSStext-align
属性来建立left
,center
,right
,或justify
该行的细胞排列。要应用基于字符的对齐,请将CSStext-align
属性设置为对齐字符(如"."
或","
)。
一个DOMString
指定的颜色应用到各行的细胞的背景。这可以是一个十六进制#RRGGBB
或#RGB
值(https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#rgb(%29))或一个颜色关键字。忽略该属性或将其设置为null
JavaScript导致行的单元格继承行的父元素的背景颜色。
该元素应该使用CSS风格。为了提供与bgcolor
属性类似的效果,请使用CSS属性background-color
。
ADOMString
设置字符对齐每行的列中的单元格(使用相同字符的每一行的居中使用相同的字符与其他字符对齐,典型的值包括period("."
)或逗号(","
),当试图对齐数字或货币值,如果align
未设置char
,则忽略此属性。
这个属性不仅是过时的,而且很少实现。要达到与char
属性相同的效果,请将CSStext-align
属性设置为您要为char
属性指定的相同字符串,例如text align: "."
。
DOMString
应该由指定的对齐字符之后显示在该列的数据的尾端的字符指示数char
属性。例如,对于使用一个单元,以百分之货币显示货币值时(如美元,其被划分为100分)中,一般会指定为2的值,使得在与串联char
被设置为"."
,在值一列将小数点完全对齐,分数正确显示在小数点右侧。
DOMString
指定行中的每个单元内的文本的垂直对齐。这个属性的可能值是:
baseline
将每个单元格的内容文本尽可能地与单元格底部对齐,通过沿行中使用的字体的基线对齐字符来处理不同字体和字体大小的对齐。如果该行中的所有字符都是相同的大小,效果是一样的bottom
。
bottom
,将每行的单元格中的文本尽可能靠近这些单元格的底部边缘绘制。
middle
每个单元格的文本都是垂直居中。
top
每个单元格的文本尽可能地绘制到包含单元格的顶部边缘。
不要使用过时的valign
属性。相反,将CSSvertical-align
属性添加到该行。
见例子。
这个简单的例子显示了一张表格,列出了人们的姓名以及有关俱乐部或服务的会员资格的各种信息。
这个HTML演示了一个表的最基本的结构。没有组,没有跨越多行或多列的单元格,没有标题,只有最基本的样式才能在表格组件周围创建线条,以便看起来清晰。
只有四行(包括一个标题行),每行有四个列(包括一个标题列)。甚至不使用表格部分元素; 相反,浏览器可以自动确定。我们将增加,以及在未来的例子。
Name ID Member Since Balance Margaret Nguyen 427311 June 3, 2010 0.00 Edvard Galinski 533175 January 13, 2011 37.00 Hoshi Nakamura 601942 July 23, 2012 15.00
这个简单的CSS只是在表格周围和每个单元格周围增加了一个黑色边框,包括使用和指定的单元格。这样,标题和数据单元就很容易划分。
table { border: 1px solid black;}th, td { border: 1px solid black;}
现在,让我们介绍另一列,显示用户的成员资格结束的日期,以及超过称为“成员日期”的“加入”和“取消”日期超级标题。这涉及将行和列跨度添加到表格,以便标题单元格可以在正确的位置。
注意这里的标题区域实际上是两行,一个是“Name”,“ID”,“Membership Dates”和“Balance”标题,另一个是“Joined”和“Cancelled”,它们是下面的子标题“会员日期”。这是通过:
拥有仅包含“已加入”和“已取消”标题的第二行元素。由于其他列已被第一行单元占据,所以这些列在“成员日期”标题下正确定位。
HTML与前面的例子类似,除了在每个数据行中添加新列以及对标题的更改。这些更改使HTML看起来像这样:
Name ID Membership Dates Balance Joined Canceled Margaret Nguyen 427311 June 3, 2010 n/a 0.00 Edvard Galinski 533175 January 13, 2011 April 8, 2017 37.00 Hoshi Nakamura 601942 July 23, 2012 n/a 15.00
为了讨论行和列跨度,这里的重要区别在上面代码的前几行。请注意使用rowspan
on来使“名称”,“ID”和“平衡”标题占用两行而不是一行,并且使用“colspan
使成员日期”标题单元跨越两列。
在真正进入样式表之前,让我们花点时间添加行和列组,以帮助我们简化CSS。
Name ID Membership Dates Balance Joined Canceled Margaret Nguyen 427311 June 3, 2010 n/a 0.00 Edvard Galinski 533175 January 13, 2011 April 8, 2017 37.00 Hoshi Nakamura 601942 July 23, 2012 n/a 15.00
为了讨论行和列跨度,这里的重要区别在上面代码的前几行。请注意使用rowspan
on来使“名称”,“ID”和“平衡”标题占用两行而不是一行,并且使用“colspan
使成员日期”标题单元跨越两列。
与表格的所有部分一样,您可以使用CSS更改表格行及其内容的外观。应用于元素的任何样式都将影响行内的单元格,除非被应用于这些单元格的样式重写。
让我们将一个基本样式应用到表中,以调整正在使用的字体,并为标题行添加背景颜色。
table { border: 1px solid black; font: 16px "Open Sans", Helvetica, Arial, sans-serif;}thead > tr { background-color: rgb(228, 240, 245);}th, td { border: 1px solid black; padding:4px 6px;}
虽然我们font
在这里添加一个属性来设置一个更具视觉吸引力的字体(或一个可恶的无衬线字体,这取决于你的个人意见),有趣的部分是这里的第二种风格,我们风格元素位于所以他们有一个淡蓝色的背景颜色。这是一种快速将背景色应用于标题区域中的所有单元格的方法。
这并没有 影响到的风格元素在第一列,不过,在这里我们把成员名称作为行标题。
现在我们将全力以赴,包括标题和正文区域中的行,包括交替的行颜色,取决于行内位置的不同颜色的单元格等等。
再次没有HTML改变。看看你的HTML可以为你做什么适当的准备?
CSS这次涉及更多。这并不复杂,但还有很多事情要做。我们来分解一下。
table { border: 1px solid black; font: 16px "Open Sans", Helvetica, Arial, sans-serif; border-spacing: 0; border-collapse: collapse;}
Here we've added theborder-spacing
andborder-collapse
properties to eliminate spacing between cells and collapse borders that touch one another to be a single border instead of winding up with double borders.
th, td { border: 1px solid black; padding:4px 6px;}th { vertical-align: bottom;}
thead > tr { background-color: rgb(228, 240, 245);}thead > tr:nth-of-type(2) { border-bottom: 2px solid black;}
这将设置表格标题中所有元素的背景颜色(如使用指定的那样)。然后我们将顶部标题的底部边框设置为一个两像素宽的线。但是,请注意,我们正在使用:nth-of-type
选择器应用于标题中border-bottom
的第二 行。为什么?因为标题是由一些单元格跨越的两行组成的。那意味着那里实际上有两排 将样式应用到第一行不会给我们预期的结果。
让我们用绿色和红色的色调来设计这两个标题单元,以表示新成员的“好”和取消成员资格的“无赖”。
thead > tr:last-of-type > th:nth-of-type(1) { background-color: rgb(225, 255, 225);}thead > tr:last-of-type > th:nth-of-type(2) { background-color: rgb(255, 225, 225);}
在这里,我们深入到表格标题栏的最后一行,并给它的第一个标题单元格(“Joined”标题)一个绿色,第二个标题单元格(“Canceled”标题)一个微红的色调。
通过交替排列颜色来提高表格数据的可读性是很常见的。让我们为每一个偶数行添加一点颜色:
tbody > tr:nth-of-type(even) { background-color: rgb(237, 238, 242);}
Since we want the first column to stand out as well, we'll add some custom styling here, too.
tbody > tr > th:first-of-type { text-align: left; background-color: rgb(225, 229, 244);}
这种方式使表格正文的每一行中的第一个标题单元格与text-align
左对齐的成员名称,并具有不同的背景颜色。
Finally, since it's standard practice to right-justify currency values in tables, let's do that here.
tbody > tr > td:last-of-type { text-align:right;}
这只是将每个正文行中text-align
的最后一个的CSS 属性设置为"right"
。