table中head表頭固定,body滾動


轉自:http://blog.csdn.net/hualele/article/details/52993315

 

		<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 ;

 

以上方法試了后,發現有時會出現寬度不對齊的問題,當然了可以設置每個th td的寬度就可以修改這個問題了,但是

我覺得因為還是用了2個table的原因吧,覺得還是好復雜,所有就重新查詢了一下,發現還真有好的解決方法:

一個table中thead  tbody就可以了。

 

 
 table tbody {
    display:block;
    height:500px;
    overflow-y:scroll;
}


table thead, tbody tr {
    display:table;
    width:100%;
    table-layout:fixed;
}


table thead {
    width: calc( 100% - 1em )
}

 

/*Firefox*/
	-moz-calc(expression);
	/*chrome safari*/
	-webkit-calc(expression);
	/*Standard */
	calc();

  

這樣就可以了,這是我看到的,試了試,可以實現。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM