停用捲軸而不隱藏它們
在 Web 開發中,有時需要在使用燈箱時停用父元素上的捲軸。然而,僅僅使用overflow:hidden來隱藏滾動條通常是不可取的,因為它可能會導致網站跳躍並佔據滾動條所在的空間。
有一個可行的解決方案,允許在仍然顯示的同時停用滾動條他們。如果燈箱下的頁面可以位於頂部,則可以使用以下 CSS 程式碼:
body { position: fixed; overflow-y: scroll; }
這將顯示捲軸,但阻止內容滾動。要在關閉燈箱後恢復捲軸,只需恢復這些屬性:
body { position: static; overflow-y: auto; }
此方法不需要修改滾動事件。
解決預先存在的滾動位置
如果在打開燈箱之前頁面已經滾動,您可以透過JavaScript 檢索當前滾動位置並將其指定為body 元素的top屬性。這將在燈箱使用期間保持當前滾動位置。
CSS
.noscroll { position: fixed; top: var(--st, 0); inline-size: 100%; overflow-y:scroll; }
JavaScript
const b = document.body; b.style.setProperty('--st', -(document.documentElement.scrollTop) + "px"); b.classList.add('noscroll');
透過實作此解決方案,您可以有效地停用此解決方案,您可以有效地停用此解決方案,您可以有效地停用此解決方案,您可以有效地停用此解決方案,您可以有效地停用此解決方案,您可以有效地停用此解決方案,您可以有效地停用此解決方案,您可以有效地停用此解決方案,您可以有效地停用此解決方案,您可以有效地停用此解決方案,您可以有效地停用此解決方案,您可以有效地停用此解決方案條而不隱藏它們,從而保留網頁的預期視覺呈現。
以上是Web開發中如何停用捲軸而不隱藏它們?的詳細內容。更多資訊請關注PHP中文網其他相關文章!