html5 表格固定表头,表尾,及前几列
在HTML5中,要实现固定表头、表尾及前几列,可以使用CSS的position: sticky
特性。以下是一个简单的示例,展示如何实现固定表头和前两列:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Sticky Table Headers and Columns</title>
<style>
thead th,
tbody th {
position: sticky;
top: 0;
background-color: #f9f9f9;
}
tbody th {
position: -webkit-sticky; /* For Safari */
position: sticky;
left: 0;
}
thead th:first-child,
tbody th:first-child {
z-index: 1;
}
tbody th:nth-child(2) {
z-index: 2;
}
table {
border-collapse: collapse;
width: 100%;
}
th, td {
border: 1px solid black;
padding: 10px;
text-align: left;
}
</style>
</head>
<body>
<table>
<thead>
<tr>
<th>Header 1</th>
<th>Header 2</th>
<th>Header 3</th>
<th>Header 4</th>
</tr>
</thead>
<tbody>
<tr>
<th>Row 1</th>
<td>Item 1</td>
<td>Item 2</td>
<td>Item 3</td>
</tr>
<!-- More rows... -->
</tbody>
</table>
</body>
</html>
在这个示例中,thead th
和 tbody th
都被设置了 position: sticky
和 top: 0
以固定它们在顶部。同时,为了避免固定列被表头遮挡,我们给表头的 z-index
设置为高于其他列的值。
请注意,position: sticky
在某些旧版浏览器中可能不受支持,因此在使用时应确保它在目标用户群的浏览器中有效。
评论已关闭