HTML 表格
HTML表格
每个表必须包含三个元素: table
, tr
和 td
。
table
具有本地属性border
的table
标记HTML文档中的表。
table
元素可以有 caption,colgroup,thead,tbody,tfoot,tr,th和td
元素。
table
元素的summary,align,width,bgcolor,cellpadding,cellspacing,frame和rules
属性已过时。
border
属性的值必须为1。边框的厚度必须使用CSS设置。
tr
tr
元素表示表行。
HTML表是面向行的,您必须分别表示每一行。
tr
元素可以在 table
, thead
tfoot
和 tbody
元素内使用。
tr
元素可以包含一个或多个 td
或 th
元素。
align,char,charoff,valign
和 bgcolor
属性已过时。你必须使用CSS。
td
td
与 colspan,rowspan,headers
局部属性表示表单元格。
scope
属性已过时。请使用 th
元素上的 scope
属性。
abbr,axis,align,width,char,charoff,valign,bgcolor,height
和 nowrap
属性已过时,因此必须使用CSS。
例子
您可以组合它们来创建表,如下面的代码所示。
<!DOCTYPE HTML>
<html>
<body>
<table>
<tr>
<td>A</td>
<td>B</td>
<td>C</td>
</tr>
<tr>
<td>D</td>
<td>E</td>
<td>F</td>
</tr>
</table>
</body>
</html>
实例:长单元格
添加更长的单元格内容
<!DOCTYPE HTML> <html> <body> <table> <tr> <td>A</td> <td>G</td> <td>M</td> </tr> <tr> <td>O</td> <td>O</td> <td>L</td> </tr> <tr> <td>E</td> <td>Long cell</td> <td>V</td> </tr> </table> </body> </html>
thead - 表头包装器
thead
元素定义一行或多行,这些行是table
元素的列标签。
没有 thead
元素,所有的tr元素都被假定为属于表的主体。
align,char,charoff
和valign属性已过时。
以下代码显示将 thead
元素添加到实例表中。
<!DOCTYPE HTML> <html> <head> <style> thead th { text-align: left; background: grey; color: white } tbody th { text-align: right; background: lightgrey; color: grey } </style> </head> <body> <table> <thead> <tr> <th>A</th> <th>B</th> <th>C</th> <th>D</th> </tr> </thead> <tbody> <tr> <th>Favorite:</th> <td>XML</td> <td>HTML</td> <td>CSS</td> </tr> <tr> <th>2nd Favorite:</th> <td>Java</td> <td>Javascript</td> <td>Oracle</td> </tr> <tr> <th>3rd Favorite:</th> <td>C#</td> <td>MySQL</td> <td>PHP</td> </tr> </tbody> </table> </body> </html>
th - 表头单元格
th
元素标记标题单元格,使我们能够区分数据及其描述。
th
元素的父代是 tr
元素。它具有局部属性: colspan,rowspan,scope,headers
。
abbr,axis,align,width,char,charoff,
valign,bgcolor,height,和 nowrap
属性已过时,而你必须使用CSS。
以下代码向表中添加标题单元格。
<!DOCTYPE HTML> <html> <body> <table> <tr> <th>Rank</th> <th>Name</th> <th>Color</th> <th>Size</th> </tr> <tr> <th>Favorite:</th> <td>Apples</td> <td>Green</td> <td>Medium</td> </tr> <tr> <th>2nd Favorite:</th> <td>Oranges</td> <td>Orange</td> <td>Large</td> </tr> <tr> <th>3rd Favorite:</th> <td>Pomegranate</td> <td>A kind of greeny-red</td> <td>Varies from medium to large</td> </tr> </table> </body> </html>
th
和 td
元素在一行中混合在一起。它向表中添加垂直头和行头。
tbody - 表主体
tbody
元素标记表体的行,而不是标题行和页脚行。
align,char,charoff
和 valign
属性已过时。
大多数浏览器在处理table>
元素时会自动插入 tbody
元素,即使它在文档中未指定。依赖于表格布局的CSS选择器可能会失败。
例如,像 table > tr
的选择器将不工作,因为浏览器在table
和 tr
元素之间插入了一个 tbody
。
要解决这个问题,您必须使用选择器,如 table > tbody > tr
, table tr
(no> character),甚至只是 tbody > tr
。
以下代码显示了向示例表中添加 tbody
元素。
<!DOCTYPE HTML> <html> <head> <style> thead th { text-align: left; background: grey; color: white } tbody th { text-align: right; background: lightgrey; color: grey } </style> </head> <body> <table> <tbody> <tr> <th>Favorite:</th> <td>XML</td> <td>HTML</td> <td>CSS</td> </tr> <tr> <th>2nd Favorite:</th> <td>Java</td> <td>Javascript</td> <td>Oracle</td> </tr> <tr> <th>3rd Favorite:</th> <td>C#</td> <td>MySQL</td> <td>PHP</td> </tr> </tbody> </table> </body> </html>
tfoot - 表页脚
tfoot
元素标记表页脚。
tfoot
元素可以出现在tbody
或 tr
元素之前或之后。
align,char,charoff
和 valign
属性已过时。
在HTML5之前, tfoot
元素必须出现在 tbody
元素之前。
在HTML5中,您可以将 tfoot
元素放在 tbody
或最后一个 tr
元素后面。
以下代码显示了如何使用 tfoot
元素为table
元素创建页脚。
<!DOCTYPE HTML> <html> <head> <style> thead th, tfoot th { text-align: left; background: grey; color: white } tbody th { text-align: right; background: lightgrey; color: grey } </style> </head> <body> <table> <thead> <tr> <th>Rank</th> <th>Name</th> <th>Color</th> <th>Size</th> </tr> </thead> <tfoot> <tr> <th>Rank Footer</th> <th>Name Footer</th> <th>Color Footer</th> <th>Size Footer</th> </tr> </tfoot> <tbody> <tr> <th>Favorite:</th> <td>XML</td> <td>HTML</td> <td>CSS</td> </tr> <tr> <th>2nd Favorite:</th> <td>Java</td> <td>Javacript</td> <td>Oracle</td> </tr> <tr> <th>3rd Favorite:</th> <td>Json</td> <td>Text</td> <td>CSV</td> </tr> </tbody> </table> </body> </html>