我有一个 div 让我们说
height:2000px
和
width: 30px
我需要固定它的位置
但是当我使用
position: fixed
然后虽然 div 始终可见,但我无法垂直滚动以查看“溢出”内容
我找到了这个插件: https ://github.com/bigspotteddog/ScrollToFixed
但它仅适用于水平滚动。
有什么想法我能做什么???
我有一个 div 让我们说
height:2000px
和
width: 30px
我需要固定它的位置
但是当我使用
position: fixed
然后虽然 div 始终可见,但我无法垂直滚动以查看“溢出”内容
我找到了这个插件: https ://github.com/bigspotteddog/ScrollToFixed
但它仅适用于水平滚动。
有什么想法我能做什么???
您需要使用 javascript 来执行此操作。如果你看一下你提到的插件的源代码,你会发现它存储了目标元素的偏移量,并根据水平滚动位置设置其左侧位置;这意味着它正在实现自己的“固定”功能。
基本上,如果水平滚动为 200,则将目标向左移动 200。您将垂直而不是水平执行此操作。
每次滚动窗口时(绑定到 window.scroll 事件),检查垂直位置,然后将元素沿相反方向(向上)移动垂直滚动位置,使其左侧保持在开始的位置。这将使它看起来好像是固定的。
如果您对插件的执行方式有任何疑问,请查看插件的源代码:
https://github.com/bigspotteddog/ScrollToFixed/blob/master/jquery-scrolltofixed.js
编辑:我应该说,覆盖固定的功能。使你的目标元素固定,然后根据上面描述的垂直滚动位置调整它的垂直位置。
我会说 try position: absolute;
Fix 将保持元素的位置相同。使用absolute
“元素相对于其第一个定位(非静态)祖先元素定位”时,请在此处查看 w3schools