-3
onScroll={() => {
document.querySelector('thead').style.transform =
`translate(0,${this.scrollRef.scrollTop}px)`;
}}
鎖定表頭,但是當我滾動表頭邊框不會粘在頭。
滾動時如何讓邊框保留在標題上?
onScroll={() => {
document.querySelector('thead').style.transform =
`translate(0,${this.scrollRef.scrollTop}px)`;
}}
鎖定表頭,但是當我滾動表頭邊框不會粘在頭。
滾動時如何讓邊框保留在標題上?
這將解決您的問題:
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
s應用於<th>
元素,但它們的最初的在DOM中的位置。
最簡單的解決方案是使用:before
僞元素來繪製邊框。
其他的解決辦法是在你的<table>
,通過bootstrap.css
應用覆蓋
border-collapse: collapse;
。
但是這意味着你的表格邊框將不再被摺疊(合併),而且很可能你不需要這樣做。
@meagar,大多數'react'和'angular'問題在[so]的問題本身不包含[mcve]。與此不同的是,大多數甚至都不包含指向示例的鏈接。他們是否應該像話題一樣被封閉?我個人認爲這個問題有明確的問題陳述,因此可以回答,這對未來的訪問者來說可能會有類似的問題。 –
@AndreiGheorghiu是的,他們應該。這裏的問題不能依賴於Github回購或任何其他非現場資源的鏈接。如果在沒有將用戶引導到您設置的測試站點的情況下無法提出問題,那麼問題就是堆棧溢出問題。 「可回答」不是我們關於主題的標準。 – meagar
編輯刪除非現場引用的問題 – Avery235