CSS 表格

CSS 表格属性可以帮助您极大地改善表格的外观。

表格边框

如需在 CSS 中设置表格边框,请使用 border 属性。

下面的例子为 table、th 以及 td 设置了蓝色边框:

  1. table, th, td
  2. {
  3. border: 1px solid blue;
  4. }

请注意,上例中的表格具有双线条边框。这是由于 table、th 以及 td 元素都有独立的边框。

如果需要把表格显示为单线条边框,请使用 border-collapse 属性。

折叠边框

border-collapse 属性设置是否将表格边框折叠为单一边框:

  1. table
  2. {
  3. border-collapse:collapse;
  4. }
  5.  
  6. table,th, td
  7. {
  8. border: 1px solid black;
  9. }

表格宽度和高度

通过 width 和 height 属性定义表格的宽度和高度。

下面的例子将表格宽度设置为 100%,同时将 th 元素的高度设置为 50px:

  1. table
  2. {
  3. width:100%;
  4. }
  5.  
  6. th
  7. {
  8. height:50px;
  9. }

表格文本对齐

text-align 和 vertical-align 属性设置表格中文本的对齐方式。

text-align 属性设置水平对齐方式,比如左对齐、右对齐或者居中:

  1. td
  2. {
  3. text-align:right;
  4. }

vertical-align 属性设置垂直对齐方式,比如顶部对齐、底部对齐或居中对齐:

  1. td
  2. {
  3. height:50px;
  4. vertical-align:bottom;
  5. }

表格内边距

如需控制表格中内容与边框的距离,请为 td 和 th 元素设置 padding 属性:

  1. td
  2. {
  3. padding:15px;
  4. }

表格颜色

下面的例子设置边框的颜色,以及 th 元素的文本和背景颜色:

  1. table, td, th
  2. {
  3. border:1px solid green;
  4. }
  5.  
  6. th
  7. {
  8. background-color:green;
  9. color:white;
  10. }

CSS Table 属性

属性 描述
border-collapse 设置是否把表格边框合并为单一的边框。
border-spacing 设置分隔单元格边框的距离。
caption-side 设置表格标题的位置。
empty-cells 设置是否显示表格中的空单元格。
table-layout 设置显示单元、行和列的算法。

更多实例

制作一个漂亮的表格

本例演示如何创造一个漂亮的表格。

  1. <html>
  2. <head>
  3. <style type="text/css">
  4. #customers
  5. {
  6. font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
  7. width:100%;
  8. border-collapse:collapse;
  9. }
  10. #customers td, #customers th
  11. {
  12. font-size:1em;
  13. border:1px solid #98bf21;
  14. padding:3px 7px 2px 7px;
  15. }
  16. #customers th
  17. {
  18. font-size:1.1em;
  19. text-align:left;
  20. padding-top:5px;
  21. padding-bottom:4px;
  22. background-color:#A7C942;
  23. color:#ffffff;
  24. }
  25. #customers tr.alt td
  26. {
  27. color:#000000;
  28. background-color:#EAF2D3;
  29. }
  30. </style>
  31. </head>
  32. <body>
  33. <table id="customers">
  34. <tr>
  35. <th>Company</th>
  36. <th>Contact</th>
  37. <th>Country</th>
  38. </tr>
  39. <tr>
  40. <td>Apple</td>
  41. <td>Steven Jobs</td>
  42. <td>USA</td>
  43. </tr>
  44. <tr class="alt">
  45. <td>Baidu</td>
  46. <td>Li YanHong</td>
  47. <td>China</td>
  48. </tr>
  49. <tr>
  50. <td>Google</td>
  51. <td>Larry Page</td>
  52. <td>USA</td>
  53. </tr>
  54. <tr class="alt">
  55. <td>Lenovo</td>
  56. <td>Liu Chuanzhi</td>
  57. <td>China</td>
  58. </tr>
  59. <tr>
  60. <td>Microsoft</td>
  61. <td>Bill Gates</td>
  62. <td>USA</td>
  63. </tr>
  64. <tr class="alt">
  65. <td>Nokia</td>
  66. <td>Stephen Elop</td>
  67. <td>Finland</td>
  68. </tr>
  69. </table>
  70. </body>
  71. </html>

显示表格中的空单元

本例演示是否显示表格中的空单元。

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style type="text/css">
  5. table
  6. {
  7. border-collapse: separate;
  8. empty-cells: hide;
  9. }
  10. </style>
  11. </head>
  12. <body>
  13. <table border="1">
  14. <tr>
  15. <td>Adams</td>
  16. <td>John</td>
  17. </tr>
  18. <tr>
  19. <td>Bush</td>
  20. <td></td>
  21. </tr>
  22. </table>
  23. <p><b>注释:</b>如果已规定 !DOCTYPE,那么 Internet Explorer 8 (以及更高版本)支持 empty-cells 属性。</p>
  24. </body>
  25. </html>

设置表格边框之间的空白

本例演示如何设置单元格边框之间的距离。

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html>
  3. <head>
  4. <style type="text/css">
  5. table.one
  6. {
  7. border-collapse: separate;
  8. border-spacing: 10px
  9. }
  10. table.two
  11. {
  12. border-collapse: separate;
  13. border-spacing: 10px 50px
  14. }
  15. </style>
  16. </head>
  17. <body>
  18. <table class="one" border="1">
  19. <tr>
  20. <td>Adams</td>
  21. <td>John</td>
  22. </tr>
  23. <tr>
  24. <td>Bush</td>
  25. <td>George</td>
  26. </tr>
  27. </table>
  28. <br />
  29. <table class="two" border="1">
  30. <tr>
  31. <td>Carter</td>
  32. <td>Thomas</td>
  33. </tr>
  34. <tr>
  35. <td>Gates</td>
  36. <td>Bill</td>
  37. </tr>
  38. </table>
  39. <p><b>注释:</b>如果已规定 !DOCTYPE,那么 Internet Explorer 8 (以及更高版本)支持 border-spacing 属性。</p>
  40. </body>
  41. </html>

设置表格标题的位置

本例演示如何定位表格的标题。

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html>
  3. <head>
  4. <style type="text/css">
  5. caption
  6. {
  7. caption-side:bottom
  8. }
  9. </style>
  10. </head>
  11. <body>
  12. <table border="1">
  13. <caption>This is a caption</caption>
  14. <tr>
  15. <td>Adams</td>
  16. <td>John</td>
  17. </tr>
  18. <tr>
  19. <td>Bush</td>
  20. <td>George</td>
  21. </tr>
  22. </table>
  23. <p><b>注释:</b>如果已规定 !DOCTYPE,那么 Internet Explorer 8 (以及更高版本)支持 caption-side 属性。</p>
  24. </body>
  25. </html>