table實現表頭固定
阿新 • • 發佈:2019-01-07
1 <div style="width: 800px;"> 2 <div class="table-head"> 3 <table> 4 <colgroup> 5 <col style="width: 80px;" /> 6 <col /> 7 </colgroup> 8 <thead> 9 <tr><th>序號</th><th>內容</th></tr> 10 </thead> 11 </table> 12 </div> 13 <div class="table-body"> 14 <table> 15 <colgroup><col style="width: 80px;" /><col /></colgroup> 16 <tbody> 17 <tr><td>1</td><td>我只是用來測試的</td></tr> 18 <tr><td>2</td><td>我只是用來測試的</td></tr> 19 <tr><td>3</td><td>我只是用來測試的</td></tr> 20 <tr><td>4</td><td>我只是用來測試的</td></tr> 21 <tr><td>5</td><td>我只是用來測試的</td></tr> 22 <tr><td>6</td><td>我只是用來測試的</td></tr> 23 <tr><td>7</td><td>我只是用來測試的</td></tr> 24 <tr><td>8</td><td>我只是用來測試的</td></tr> 25 <tr><td>9</td><td>我只是用來測試的</td></tr> 26 <tr><td>10</td><td>我只是用來測試的</td></tr> 27 <tr><td>11</td><td>我只是用來測試的</td></tr> 28 <tr><td>12</td><td>我只是用來測試的</td></tr> 29 <tr><td>13</td><td>我只是用來測試的</td></tr> 30 <tr><td>14</td><td>我只是用來測試的</td></tr> 31 <tr><td>15</td><td>我只是用來測試的</td></tr> 32 </tbody> 33 </table> 34 </div> 35 </div>
再看css如下
1 .table-head{padding-right:17px;background-color:#999;color:#000;} 2 .table-body{width:100%; height:300px;overflow-y:scroll;} 3 .table-head table,.table-body table{width:100%;} 4 .table-body table tr:nth-child(2n+1){background-color:#f2f2f2;}
其實關鍵之處在於
1、使用了colgroup標籤,來對上下兩個表格的列寬進行了定義,讓他們保持一致。
2、上邊的div .table-head添加了樣式padding-right:17px,這個寬度是為了保證跟下邊的div .table-body的滾動條保持一致,同時下邊的表格.table-body添加了樣式overflow-y:scroll;
只要保證上述兩點的話,你也可以做出固定表頭的表格來,同時不會發生上下的列不對齊的問題,屢試不爽!