position: sticky 表格 固定两列不滚动
时间: 2023-08-19 08:05:22 浏览: 232
固定Table第一行或某几行不随滚动条滚动而滚动
要在表格中固定两列并使其不滚动,您可以使用position: sticky属性和一些CSS样式。以下是一个示例:
HTML结构示例:
```html
<div class="table-container">
<table>
<thead>
<tr>
<th>固定列1</th>
<th>固定列2</th>
<th>其他列1</th>
<th>其他列2</th>
<!-- 其他表头列 -->
</tr>
</thead>
<tbody>
<!-- 表格内容行 -->
</tbody>
</table>
</div>
```
CSS样式示例:
```css
.table-container {
width: 100%;
overflow-x: auto;
}
table {
width: max-content;
table-layout: fixed;
}
th:first-child,
td:first-child {
position: sticky;
left: 0;
background-color: white;
}
th:nth-child(2),
td:nth-child(2) {
position: sticky;
left: 100px; /* 调整固定列的宽度 */
background-color: white;
}
```
首先,将表格放在一个包含overflow-x: auto样式的容器中,这样当内容超出容器宽度时,可以出现水平滚动条。
然后,使用position: sticky和left属性来将第一列和第二列固定在左侧。您可以通过调整left值来控制固定列的宽度。
注意:这种方法在大多数现代浏览器中都能正常工作,但在某些旧版本的浏览器中可能不起作用。
阅读全文