【发布时间】:2020-09-04 12:31:30
【问题描述】:
我的表格标题中有两行,我希望它在滚动时固定。我怎样才能做到这一点?我尝试将th 元素的位置设置为sticky,但第二行与滚动时的第一行重叠(参见 sn-p)。
我已经看到很多基于 js 的解决方案,但对它们根本不感兴趣。当然可以只使用 CSS!
我也不希望您必须硬编码标题行的高度的解决方案。
.wrapper {
height: 200px;
width: 150px;
background: red;
overflow: auto;
}
table {
width: 100%;
border-spacing: 0;
}
th {
position: sticky;
top: 0;
z-index: 2;
background: blue;
text-align: left;
}
<div class="wrapper">
<table>
<thead>
<tr>
<th>a</th>
<th>b</th>
</tr>
<tr>
<th>c</th>
<th>d</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td>f</td>
</tr>
<tr>
<td>g</td>
<td>h</td>
</tr>
<tr>
<td>i</td>
<td>j</td>
</tr>
<tr>
<td>k</td>
<td>l</td>
</tr>
<tr>
<td>m</td>
<td>n</td>
</tr>
<tr>
<td>o</td>
<td>p</td>
</tr>
<tr>
<td>q</td>
<td>r</td>
</tr>
<tr>
<td>s</td>
<td>t</td>
</tr>
<tr>
<td>u</td>
<td>v</td>
</tr>
<tr>
<td>w</td>
<td>x</td>
</tr>
<tr>
<td>y</td>
<td>z</td>
</tr>
</tbody>
</table>
</div>
【问题讨论】:
标签: html css html-table css-position sticky