Table固定列和表头

灰太狼 2023-05-29 09:28 168阅读 0赞

一、实现思路:表格数据中存在合并单元格,网上找了好多列子都没有实现。最后是把一个table拆分为两个table实现的,第一个table(table1)中是需要固定的列及表头(表头只固定前四列和时段流量列,时间列是不固定的),第二个table(table2)是所有的数据,把table1定位在table2的上面。

二、效果图

20191105181250943.gif

三、代码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>表格实现固定列和表头</title>
  6. <style>
  7. /*table样式*/
  8. .table{width:100%;margin:auto;padding-top:0;font-size:12px;text-align:center;color:#666;}
  9. .table th{background-color:#f9f9f9;border:1px solid #e8e8e8;;height:40px;font-weight: bold;}
  10. .table td{border:1px solid #e8e8e8;border-top:0;height:40px;padding:0px 4px}
  11. .table tr:nth-child(2n){background-color:#f9f9f9}
  12. /*固定*/
  13. .container {position: relative;}
  14. .table1, .table2 {width: 800px;}
  15. .table1 {position: absolute;overflow: hidden;}
  16. .table1 td,th{background-color: white;}
  17. .table2 {overflow-x: scroll;}
  18. </style>
  19. </head>
  20. <body>
  21. <div class='container'>
  22. <div class="table1">
  23. <table class="table" cellspacing="0" >
  24. <thead>
  25. <tr>
  26. <th rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">名称</th>
  27. <th rowspan="2" style="min-width: 80px; max-width: 80px;width: 80px;">总量(人次)</th>
  28. <th rowspan="2" style="min-width: 80px; max-width: 80px;width: 80px;">编码</th>
  29. <th rowspan="2" style="min-width: 80px; max-width: 80px;width: 80px;">编码总量(人次)</th>
  30. <th colspan="2" >时段流量(人次)</th>
  31. </tr>
  32. <tr style="visibility: hidden;">
  33. <th></th>
  34. <th></th>
  35. </tr>
  36. </thead>
  37. <tbody>
  38. <tr>
  39. <td rowspan="2">0F主出入口</td>
  40. <td rowspan="2">1600</td>
  41. <td>C001_1_1B</td>
  42. <td>800</td>
  43. </tr>
  44. <tr>
  45. <td>C002_1_1B</td>
  46. <td>800</td>
  47. </tr>
  48. <tr>
  49. <td rowspan="2">1F主出入口</td>
  50. <td rowspan="2">200</td>
  51. <td>C002_1_1B</td>
  52. <td>100</td>
  53. </tr>
  54. <tr>
  55. <td>C003_1_1B</td>
  56. <td>100</td>
  57. </tr>
  58. <tr>
  59. <td rowspan="2">2F主入口</td>
  60. <td rowspan="2">600</td>
  61. <td>C003_1_1B</td>
  62. <td>100</td>
  63. </tr>
  64. <tr>
  65. <td>C004_1_1B</td>
  66. <td>500</td>
  67. </tr>
  68. <tr>
  69. <td rowspan="2">B1F直梯</td>
  70. <td rowspan="2">600</td>
  71. <td>C004_1_1B</td>
  72. <td>300</td>
  73. </tr>
  74. <tr>
  75. <td>C005_1_1B</td>
  76. <td>300</td>
  77. </tr>
  78. </tbody>
  79. </table>
  80. </div>
  81. <div class="table2">
  82. <table class="table" cellspacing="0">
  83. <thead>
  84. <tr>
  85. <th rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">名称</th>
  86. <th rowspan="2" style="min-width: 80px; max-width: 80px;width: 80px;">总量(人次)</th>
  87. <th rowspan="2" style="min-width: 80px; max-width: 80px;width: 80px;">编码</th>
  88. <th rowspan="2" style="min-width: 80px; max-width: 80px;width: 80px;">编码总量(人次)</th>
  89. <th colspan="7" style="text-align:left; padding-left: 200px;">时段流量(人次)</th>
  90. </tr>
  91. <tr>
  92. <th style="min-width: 80px; max-width: 80px;width: 80px;">10:00</th>
  93. <th style="min-width: 80px; max-width: 80px;width: 80px;">10:05</th>
  94. <th style="min-width: 80px; max-width: 80px;width: 80px;">10:10</th>
  95. <th style="min-width: 80px; max-width: 80px;width: 80px;">10:15</th>
  96. <th style="min-width: 80px; max-width: 80px;width: 80px;">10:20</th>
  97. <th style="min-width: 80px; max-width: 80px;width: 80px;">10:25</th>
  98. <th style="min-width: 80px; max-width: 80px;width: 80px;">10:30</th>
  99. </tr>
  100. </thead>
  101. <tbody>
  102. <tr>
  103. <td rowspan="2">0F主出入口</td>
  104. <td rowspan="2">1600</td>
  105. <td>C001_1_1B</td>
  106. <td>800</td>
  107. <td>0</td>
  108. <td>0</td>
  109. <td>0</td>
  110. <td>0</td>
  111. <td>800</td>
  112. <td>0</td>
  113. <td>0</td>
  114. </tr>
  115. <tr>
  116. <td>C002_1_1B</td>
  117. <td>800</td>
  118. <td>800</td>
  119. <td>0</td>
  120. <td>0</td>
  121. <td>0</td>
  122. <td>0</td>
  123. <td>0</td>
  124. <td>0</td>
  125. </tr>
  126. <tr>
  127. <td rowspan="2">1F主出入口</td>
  128. <td rowspan="2">200</td>
  129. <td>C002_1_1B</td>
  130. <td>100</td>
  131. <td>0</td>
  132. <td>100</td>
  133. <td>0</td>
  134. <td>0</td>
  135. <td>0</td>
  136. <td>0</td>
  137. <td>0</td>
  138. </tr>
  139. <tr>
  140. <td>C003_1_1B</td>
  141. <td>100</td>
  142. <td>0</td>
  143. <td>100</td>
  144. <td>0</td>
  145. <td>0</td>
  146. <td>0</td>
  147. <td>0</td>
  148. <td>0</td>
  149. </tr>
  150. <tr>
  151. <td rowspan="2">2F主入口</td>
  152. <td rowspan="2">600</td>
  153. <td>C003_1_1B</td>
  154. <td>100</td>
  155. <td>0</td>
  156. <td>100</td>
  157. <td>0</td>
  158. <td>0</td>
  159. <td>0</td>
  160. <td>0</td>
  161. <td>0</td>
  162. </tr>
  163. <tr>
  164. <td>C004_1_1B</td>
  165. <td>500</td>
  166. <td>0</td>
  167. <td>0</td>
  168. <td>500</td>
  169. <td>0</td>
  170. <td>0</td>
  171. <td>0</td>
  172. <td>0</td>
  173. </tr>
  174. <tr>
  175. <td rowspan="2">B1F直梯</td>
  176. <td rowspan="2">600</td>
  177. <td>C004_1_1B</td>
  178. <td>300</td>
  179. <td>0</td>
  180. <td>0</td>
  181. <td>0</td>
  182. <td>300</td>
  183. <td>0</td>
  184. <td>0</td>
  185. <td>0</td>
  186. </tr>
  187. <tr>
  188. <td>C005_1_1B</td>
  189. <td>300</td>
  190. <td>0</td>
  191. <td>0</td>
  192. <td>0</td>
  193. <td>300</td>
  194. <td>0</td>
  195. <td>0</td>
  196. <td>0</td>
  197. </tr>
  198. </tbody>
  199. </table>
  200. </div>
  201. </div>
  202. </body>
  203. </html>

欢迎关注

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3R5cDE4MDU_size_16_color_FFFFFF_t_70

发表评论

表情:
评论列表 (有 0 条评论,168人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Table固定表头

    一、实现思路:表格数据中存在合并单元格,网上找了好多列子都没有实现。最后是把一个table拆分为两个table实现的,第一个table(table1)中是需要固定的列及表头(表

    相关 bootstrap中固定table表头

    前端时间鼓捣的一个简单的手机网站,今天又拿出来弄一弄 因为主要是给手机访问,用的是bootstrap响应式布局,今天的任务是做一个数据展示页面 但是由于数据的列比较多,所以