我通过
锁定了表格标题onScroll={() => {
document.querySelector('thead').style.transform =
`translate(0,${this.scrollRef.scrollTop}px)`;
}}
但是当我滚动表格时,标题边框不会粘在标题上。
滚动时如何让边框留在标题上?
答案 0 :(得分:0)
这将解决您的问题:
thead th {
position:relative;
}
thead th:before {
content: '';
position: absolute;
height: calc(100% + 2px);
width: calc(100% + 2px);
border: 1px solid black;
top: -1px;
left: -1px;
pointer-events: none;
}
不,JavaScript并没有改变边界。问题是边框实际上不是<th>
元素的一部分,因为它们已经折叠。
在内部,浏览器会检查相邻元素以确定组合边框。这些边框的定位没有考虑应用于transform
元素的<th>
,而是考虑它们在DOM中的初始位置。
最简单的解决方案是使用:before
伪元素绘制边框。
另一种解决方案是覆盖
border-collapse: collapse;
<{1}}上的,由<table>
申请
但这意味着您的桌面边框将不再折叠(合并),而且很可能,您不希望这样。