我创建了一个包含 3 个标题的表,功能应该是标题将保持在顶部,而内容/数据将在下方滚动,因为它将由服务器填充我的问题在于标题的对齐方式和相应的数据。因为我使用的是 Display: inline-block 或 block header 并且数据没有对齐在一起,所以我尝试通过添加一些填充来手动完成,但另一个问题在于当我调整视口(viewport)大小时标题的响应能力更改未正确对齐。下面是我正在工作的代码示例
Jsfiddle 链接:https://jsfiddle.net/pynechan/5bxm9n0p/
table {
width:100%
}
tbody {
border:1px solid red;
height:300px;
overflow:auto;
display:inline-block;
}
thead {
background-color:#0c0;
color:#fff;
}
<h2>Header fixed</h2>
<br/>
<br/>
<table>
<thead><tr><th>HEADER</th><th>HEADER 2</th><th>HEADER 3</th></tr></thead>
<tbody>
<tr><td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td></tr>
<tr><td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td></tr>
<tr><td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td></tr>
<tr><td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td></tr>
<tr><td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td></tr>
<tr><td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td></tr>
<tr><td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td></tr>
<tr><td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td></tr>
<tr><td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td></tr>
<tr><td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td></tr>
<tr><td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td></tr>
<tr><td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td></tr>
<tr><td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td></tr>
<tr><td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td></tr>
<tr><td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td></tr>
<tr><td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td></tr>
<tr><td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td></tr>
<tr><td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td></tr>
<tr><td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td></tr>
<tr><td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td></tr>
<tr><td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td></tr>
<tr><td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td></tr>
<tr><td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td></tr>
</tbody>
</table>
最佳答案
你能试试下面的吗?标题将是静态的,而表格内容滚动时标题将保持静态。
table {
max-width:980px;
table-layout:fixed;
margin:auto;
}
th, td {
padding:5px 10px;
border:1px solid #000;
}
thead, tfoot {
background:#f9f9f9;
display:table;
width:100%;
width:calc(100% - 18px);
}
tbody {
height:300px;
overflow:auto;
overflow-x:hidden;
display:block;
width:100%;
}
tbody tr {
display:table;
width:100%;
table-layout:fixed;
}
<table>
<thead>
<tr>
<th scope="col">Header 1</th>
<th scope="col">Header 2</th>
<th scope="col">Header 3</th>
</tr>
</thead>
<tbody>
<tr>
<td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td>
</tr>
<tr>
<td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td>
</tr>
<tr>
<td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td>
</tr>
<tr>
<td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td>
</tr>
<tr>
<td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td>
</tr>
<tr>
<td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td>
</tr>
<tr>
<td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td>
</tr>
<tr>
<td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td>
</tr>
<tr>
<td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td>
</tr>
<tr>
<td>1. DATA</td><td>1. DATA 2</td><td>1. DATA 3</td>
</tr>
</table>
关于jquery - 可滚动表格,而标题始终位于顶部并正确对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49795059/