42. 表格元素

在css技术出现之前,网页通常使用表格布局。

后台管理系统中可能会使用表格。

区分前台和后台:

  • 前台:面向用户
  • 后台:面向管理员。对界面要求不高,对功能性要求高。

表格不再适用于网页布局的原因是:表格的渲染速度过慢。

认识表格的各个组成部分:

42. 表格元素 - 图1

42. 表格元素 - 图2

42. 表格元素 - 图3

示例:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>表格</title>
  8. <style>
  9. table {
  10. width: 100%;
  11. /* 合并相邻单元格的边框 */
  12. border-collapse: collapse;
  13. }
  14. /* 定义表格标题样式 */
  15. table caption {
  16. font-size: 2em;
  17. font-weight: bold;
  18. margin: 1em 0;
  19. }
  20. th,
  21. td {
  22. border: 1px solid #999;
  23. text-align: center;
  24. padding: 20px 0;
  25. }
  26. thead tr {
  27. background: #008c8c;
  28. color: #fff;
  29. }
  30. tbody tr:nth-child(odd) {
  31. background: #eee;
  32. }
  33. tbody tr:hover {
  34. background: #ccc;
  35. }
  36. tbody td:first-child {
  37. color: chocolate;
  38. }
  39. tfoot td {
  40. text-align: right;
  41. padding-right: 20px;
  42. }
  43. </style>
  44. </head>
  45. <body>
  46. <!-- table 元素,默认display的值为 table -->
  47. <table>
  48. <!-- caption 中设置表格标题 -->
  49. <caption>这是表格标题</caption>
  50. <!-- thead 设置表头的内容 -->
  51. <thead>
  52. <!-- table row 表示表格中的一行 -->
  53. <tr>
  54. <th>列1</th>
  55. <th>列2</th>
  56. <th>列3</th>
  57. <th>列4</th>
  58. <th>列5</th>
  59. </tr>
  60. </thead>
  61. <!-- tbody 设置表格体的内容 -->
  62. <tbody>
  63. <tr>
  64. <td rowspan="2">数据1</td>
  65. <td>数据2</td>
  66. <td>数据3</td>
  67. <td>数据4</td>
  68. <td>数据5</td>
  69. </tr>
  70. <tr>
  71. <!-- <td>数据1</td> -->
  72. <td>数据2</td>
  73. <td>数据3</td>
  74. <td>数据4</td>
  75. <td>数据5</td>
  76. </tr>
  77. <tr>
  78. <td>数据1</td>
  79. <td>数据2</td>
  80. <td>数据3</td>
  81. <td>数据4</td>
  82. <td>数据5</td>
  83. </tr>
  84. <tr>
  85. <td>数据1</td>
  86. <td>数据2</td>
  87. <td>数据3</td>
  88. <td>数据4</td>
  89. <td>数据5</td>
  90. </tr>
  91. <tr>
  92. <td>数据1</td>
  93. <td>数据2</td>
  94. <td>数据3</td>
  95. <td>数据4</td>
  96. <td>数据5</td>
  97. </tr>
  98. <tr>
  99. <td>数据1</td>
  100. <td>数据2</td>
  101. <td>数据3</td>
  102. <td>数据4</td>
  103. <td>数据5</td>
  104. </tr>
  105. <tr>
  106. <td>数据1</td>
  107. <td>数据2</td>
  108. <td>数据3</td>
  109. <td>数据4</td>
  110. <td>数据5</td>
  111. </tr>
  112. <tr>
  113. <td>数据1</td>
  114. <td>数据2</td>
  115. <td>数据3</td>
  116. <td>数据4</td>
  117. <td>数据5</td>
  118. </tr>
  119. <tr>
  120. <td>数据1</td>
  121. <td>数据2</td>
  122. <td>数据3</td>
  123. <td>数据4</td>
  124. <td>数据5</td>
  125. </tr>
  126. <tr>
  127. <td>数据1</td>
  128. <td>数据2</td>
  129. <td>数据3</td>
  130. <td>数据4</td>
  131. <td>数据5</td>
  132. </tr>
  133. </tbody>
  134. <!-- tfoot 表示表尾 -->
  135. <tfoot>
  136. <tr>
  137. <!-- colspan 实现表格单元格的合并 -->
  138. <td colspan="5">合计:XXXX</td>
  139. </tr>
  140. </tfoot>
  141. </table>
  142. </body>
  143. </html>

42. 表格元素 - 图4

重点:如何在表格中实现跨行和跨列。

  • rowspan 实现跨行
  • colspan 实现跨列

注意:被合并的单元格位置需要为空。