HTML <table> 标签

HTML的 table 元素表示表格数据,即通过二维数据表表示的信息。其中 table 元素一般包含一个或多个 tr、th 或 td 元素。


实例

一个简单的 HTML 表格,包含两行两列:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. table, th, td {
  6. border: 1px solid black;
  7. }
  8. </style>
  9. </head>
  10. <body>
  11. <h1>table 元素</h1>
  12. <table>
  13. <tr>
  14. <th>月份</th>
  15. <th>每月结余</th>
  16. </tr>
  17. <tr>
  18. <td>一月</td>
  19. <td>$100</td>
  20. </tr>
  21. <tr>
  22. <td>二月</td>
  23. <td>$80</td>
  24. </tr>
  25. </table>
  26. </body>
  27. </html>

定义和用法

<table> 标签定义 HTML 表格。

简单的 HTML 表格由 table 元素以及一个或多个 tr、th 或 td 元素组成。

tr 元素定义表格行,th 元素定义表头,td 元素定义表格单元。

更复杂的 HTML 表格也可能包括 caption、col、colgroup、thead、tfoot 以及 tbody 元素。


浏览器支持

元素
<table>YesYesYesYesYes

所有浏览器都支持 <table> 标签。


HTML 与 XHTML 之间的差异

在 HTML 4.01 中,table 元素的 "align" 和 "bgcolor" 属性是不建议使用的。

在 XHTML 1.0 Strict DTD中,不支持 table 元素的 "align" 和 "bgcolor" 属性。


可选的属性

属性描述
align
  • left
  • center
  • right

不建议使用。请使用样式代替。

规定表格相对周围元素的对齐方式。

bgcolor
  • rgb(x,x,x)
  • #xxxxxx
  • colorname

不建议使用。请使用样式代替。

规定表格的背景颜色。

borderpixels规定表格边框的宽度。
cellpadding
  • pixels
  • %

规定单元边沿与其内容之间的空白。

不建议使用,推荐 在<table> 元素上使用 CSS 属性值为 collapse 的 border-collapse 属性,在 <td> 元素上使用属性 padding,以达到类似于 cellpadding 的效果。

cellspacing
  • pixels
  • %

规定单元格之间的空白。

不建议使用,推荐在 <table> 元素上使用 CSS 的属性 border-spacing ,以达到类似于 cellspacing 的效果。

frame
  • void
  • above
  • below
  • hsides
  • lhs
  • rhs
  • vsides
  • box
  • border
规定外侧边框的哪个部分是可见的。
rules
  • none
  • groups
  • rows
  • cols
  • all
规定内侧边框的哪个部分是可见的。
summarytext规定表格的摘要。通常,它被用来为残障人士提供可用性,比如,盲人使用盲文屏幕(Braille screen) 浏览网页,从中获取信息。如果要想对于非视力受限的人来说也可以提供作用,考虑使用 <caption> 代替。
width
  • %
  • pixels
该属性定义了表格的宽度。宽度可以是像素或者是百分比值,宽度的百分比值将被定义为表格容器的宽度。

全局属性

<table> 标签支持 HTML 中的 全局属性


事件属性

<table> 标签支持 HTML 中的 事件属性


相关页面

HTML DOM 参考手册:Table 对象


更多实例

去掉重合的边框

  1. <html>
  2. <head>
  3. <style>
  4. table, th, td {
  5. border: 1px solid black;
  6. border-collapse: collapse;
  7. }
  8. </style>
  9. </head>
  10. <body>
  11. <table>
  12. <tr>
  13. <th>月份</th>
  14. <th>每月结余</th>
  15. </tr>
  16. <tr>
  17. <td>一月</td>
  18. <td>$100</td>
  19. </tr>
  20. <tr>
  21. <td>二月</td>
  22. <td>$80</td>
  23. </tr>
  24. </table>
  25. </body>
  26. </html>

table 结合 caption一起使用

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. table, th, td {
  6. border: 1px solid black;
  7. }
  8. </style>
  9. </head>
  10. <body>
  11. <h1>caption 元素</h1>
  12. <table>
  13. <caption>每月结余</caption>
  14. <tr>
  15. <th>月份</th>
  16. <th>结余</th>
  17. </tr>
  18. <tr>
  19. <td>2月</td>
  20. <td>$100</td>
  21. </tr>
  22. <tr>
  23. <td>3月</td>
  24. <td>$50</td>
  25. </tr>
  26. </table>
  27. </body>
  28. </html>

table 内文本对齐方式

  1. <html>
  2. <head>
  3. <style>
  4. table, th, td {
  5. border: 1px solid black;
  6. }
  7. table.center {
  8. margin-left: auto;
  9. margin-right: auto;
  10. }
  11. </style>
  12. </head>
  13. <body>
  14. <table class="center">
  15. <tr>
  16. <th>月份</th>
  17. <th>Savings</th>
  18. </tr>
  19. <tr>
  20. <td>1月</td>
  21. <td>$100</td>
  22. </tr>
  23. <tr>
  24. <td>2月</td>
  25. <td>$80</td>
  26. </tr>
  27. </table>

单元格占多行或多列

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. table, th, td {
  6. border: 1px solid black;
  7. }
  8. </style>
  9. </head>
  10. <body>
  11. <h1>Colspan 和 rowspan</h1>
  12. <h3>单元格占两列:</h3>
  13. <table>
  14. <tr>
  15. <th>Name</th>
  16. <th>Email</th>
  17. <th colspan="2">Phone</th>
  18. </tr>
  19. <tr>
  20. <td>John Doe</td>
  21. <td>john.doe@example.com</td>
  22. <td>123-45-678</td>
  23. <td>212-00-546</td>
  24. </tr>
  25. </table>
  26. <h3>单元格占两行:</h3>
  27. <table>
  28. <tr>
  29. <th>Name:</th>
  30. <td>John Doe</td>
  31. </tr>
  32. <tr>
  33. <th>Email:</th>
  34. <td>john.doe@example.com</td>
  35. </tr>
  36. <tr>
  37. <th rowspan="2">Phone:</th>
  38. <td>123-45-678</td>
  39. </tr>
  40. <tr>
  41. <td>212-00-546</td>
  42. </tr>
  43. </table>
  44. </body>
  45. </html>

table标签默认样式

  1. table {
  2. display: table;
  3. border-collapse: separate;
  4. border-spacing: 2px;
  5. border-color: gray;
  6. }