1

我有一个 div 让我们说

height:2000px 

width: 30px

我需要固定它的位置

但是当我使用

position: fixed

然后虽然 div 始终可见,但我无法垂直滚动以查看“溢出”内容

我找到了这个插件: https ://github.com/bigspotteddog/ScrollToFixed

但它仅适用于水平滚动。

有什么想法我能做什么???

4

2 回答 2

0

您需要使用 javascript 来执行此操作。如果你看一下你提到的插件的源代码,你会发现它存储了目标元素的偏移量,并根据水平滚动位置设置其左侧位置;这意味着它正在实现自己的“固定”功能。

基本上,如果水平滚动为 200,则将目标向左移动 200。您将垂直而不是水平执行此操作。

每次滚动窗口时(绑定到 window.scroll 事件),检查垂直位置,然后将元素沿相反方向(向上)移动垂直滚动位置,使其左侧保持在开始的位置。这将使它看起来好像是固定的。

如果您对插件的执行方式有任何疑问,请查看插件的源代码:

https://github.com/bigspotteddog/ScrollToFixed/blob/master/jquery-scrolltofixed.js

编辑:我应该说,覆盖固定的功能。使你的目标元素固定,然后根据上面描述的垂直滚动位置调整它的垂直位置。

于 2012-08-22T18:51:48.233 回答
0

我会说 try position: absolute;Fix 将保持元素的位置相同。使用absolute“元素相对于其第一个定位(非静态)祖先元素定位”时,请在此处查看 w3schools

于 2019-07-12T10:04:51.840 回答