在这个代码中无法自由调整列宽
时间: 2024-04-16 11:28:34 浏览: 102
非常抱歉,我之前的回答似乎有误导性。确实,上述代码中并没有包含实现自由调整列宽的功能。下面是一个更新后的代码示例,用于实现自由调整列宽的网页表格:
```html
<!DOCTYPE html>
<html>
<head>
<style>
table {
border-collapse: collapse;
width: 100%;
}
th, td {
padding: 8px;
text-align: left;
border: 1px solid #ddd;
}
th {
background-color: #f2f2f2;
position: relative;
}
th::after {
content: "";
position: absolute;
top: 0;
right: -5px;
bottom: 0;
width: 10px;
cursor: col-resize;
}
</style>
</head>
<body>
<table id="myTable">
<thead>
<tr>
<th>列1</th>
<th>列2</th>
<th>列3</th>
</tr>
</thead>
<tbody>
<tr>
<td>数据1</td>
<td>数据2</td>
<td>数据3</td>
</tr>
<!-- 添加更多行 -->
</tbody>
</table>
<script>
window.addEventListener("DOMContentLoaded", function () {
var table = document.getElementById("myTable");
var columns = table.querySelectorAll("th");
var isResizing = false;
var startX, startWidth;
for (var i = 0; i < columns.length; i++) {
var column = columns[i];
column.addEventListener("mousedown", function (event) {
isResizing = true;
startX = event.pageX;
startWidth = this.offsetWidth;
});
column.addEventListener("mousemove", function (event) {
if (!isResizing) return;
var width = startWidth + (event.pageX - startX);
this.style.width = width + "px";
});
column.addEventListener("mouseup", function () {
isResizing = false;
});
}
});
</script>
</body>
</html>
```
在这个更新后的代码中,我添加了一些新的样式和 JavaScript 代码。我为表头的每个单元格添加了一个可调整列宽的手柄,并使用 JavaScript 来实现拖动手柄时调整列宽的功能。
请注意,这个示例代码只是基本实现,你可以根据需要进行修改和美化。希望这次能够满足你的需求。如果有任何问题,请随时提问。
阅读全文