1. 程式人生 > >html Table實現表頭固定

html Table實現表頭固定

html

<div style="width: 800px;">
    <div class="table-head">
    <table>
        <colgroup>
            <col style="width: 80px;" />
            <col />
        </colgroup>
        <thead>
            <tr><th>序號</th><th>內容</th></tr>
        </thead>
    </table>
    </div>
    <div class="table-body">
    <table>
        <colgroup><col style="width: 80px;" /><col /></colgroup>
        <tbody>
            <tr><td>1</td><td>我只是用來測試的</td></tr>
            <tr><td>2</td><td>我只是用來測試的</td></tr>
            <tr><td>3</td><td>我只是用來測試的</td></tr>
            <tr><td>4</td><td>我只是用來測試的</td></tr>
            <tr><td>5</td><td>我只是用來測試的</td></tr>
            <tr><td>6</td><td>我只是用來測試的</td></tr>
            <tr><td>7</td><td>我只是用來測試的</td></tr>
            <tr><td>8</td><td>我只是用來測試的</td></tr>
            <tr><td>9</td><td>我只是用來測試的</td></tr>
            <tr><td>10</td><td>我只是用來測試的</td></tr>
            <tr><td>11</td><td>我只是用來測試的</td></tr>
            <tr><td>12</td><td>我只是用來測試的</td></tr>
            <tr><td>13</td><td>我只是用來測試的</td></tr>
            <tr><td>14</td><td>我只是用來測試的</td></tr>
            <tr><td>15</td><td>我只是用來測試的</td></tr>
        </tbody>
    </table>
    </div>
</div>

css

table-head{padding-right:17px;background-color:#999;color:#000;}
table-body{width:100%; height:300px;overflow-y:scroll;}
table-head table,.table-body table{width:100%;}
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;

只要保證上述兩點的話,你也可以做出固定表頭的表格來,同時不會發生上下的列不對齊的問題,屢試不爽