最近一直在搞前台瑣碎的東西,也學習了一下linux,沒有時間對新的東西進行深入的研究和學習,沒有寫博客,不過歸咎其原因還是在於自己的惰怠。
廢話不多說,今天想將一個前台頁面設計的一個小東西分享一下,那就是平時我們設計表格的時候,通常都想將表格的頭部進行固定,而表格的body部分能夠進行滾動的效果,其實這個實現起來很簡單的,但是對於初學div+css布局的同學來說,還是有些幫助的。
先體驗一下操作感受:
序號 | 內容 |
---|
1 | 我只是用來測試的 |
2 | 我只是用來測試的 |
3 | 我只是用來測試的 |
4 | 我只是用來測試的 |
5 | 我只是用來測試的 |
6 | 我只是用來測試的 |
7 | 我只是用來測試的 |
8 | 我只是用來測試的 |
9 | 我只是用來測試的 |
10 | 我只是用來測試的 |
11 | 我只是用來測試的 |
12 | 我只是用來測試的 |
13 | 我只是用來測試的 |
14 | 我只是用來測試的 |
15 | 我只是用來測試的 |
馬上上代碼,首先看html
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;
只要保證上述兩點的話,你也可以做出固定表頭的表格來,同時不會發生上下的列不對齊的問題,屢試不爽!