<div class="table-container"><table id="my-table"><thead><tr><th>Header 1</th><th>Header 2</th><th>Header 3</th></tr></thead><tbody><tr><td>Fixed</td><td>Data 1</td><td>Data 2</td></tr><tr><td>Fixed</td><td>Data 3</td><td>Data 4</td></tr></tbody></table><table><thead><tr><th>Header 1</th></tr></thead><tbody><tr><td>Fixed</td></tr><tr><td>Fixed</td></tr></tbody></table></div> 实现拖动父级滚动条超出100像素固定第一列实例
时间: 2023-07-09 18:26:55 浏览: 116
可以通过以下方式实现拖动父级滚动条超出100像素固定第一列:
1. 首先将第一列的单元格设置为固定宽度,并将其设置为相对定位。
2. 使用 JavaScript 监听父级容器的滚动事件,并根据滚动距离调整第一列单元格的左间距。
3. 当滚动距离超过100像素时,将第一列单元格的左间距设置为0,使其固定在表格中。
下面是一些示例代码,可以根据实际情况进行修改:
HTML 代码:
```html
<div class="table-container">
<table id="my-table">
<thead>
<tr>
<th class="fixed-column">Header 1</th>
<th>Header 2</th>
<th>Header 3</th>
</tr>
</thead>
<tbody>
<tr>
<td class="fixed-column">Fixed</td>
<td>Data 1</td>
<td>Data 2</td>
</tr>
<tr>
<td class="fixed-column">Fixed</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
</tbody>
</table>
</div>
```
CSS 代码:
```css
.table-container {
overflow-x: auto;
max-width: 100%;
}
#my-table {
border-collapse: collapse;
width: 100%;
}
#my-table th,
#my-table td {
padding: 10px;
text-align: left;
border: 1px solid #ccc;
}
.fixed-column {
position: relative;
width: 100px;
left: 0;
z-index: 1;
}
```
JavaScript 代码:
```javascript
var table = document.getElementById("my-table");
var firstColumn = table.getElementsByClassName("fixed-column")[0];
table.parentElement.addEventListener("scroll", function () {
var scrollLeft = this.scrollLeft;
if (scrollLeft > 100) {
firstColumn.style.left = "0";
} else {
firstColumn.style.left = scrollLeft + "px";
}
});
```
这种方法可以在父容器滚动时固定第一列,但是可能会出现一些问题,例如在固定列时表格宽度可能会变窄,因此您需要根据实际情况进行调整。
阅读全文