2011-04-22 122 views
3

我有一个元素固定到顶部x,y轴。有什么办法可以改变它只能固定在x轴上吗?例如。 - 所以我可以将固定元素向左和向右滚动。将一个元素固定到顶部

当前代码:

<div style="position:fixed;top:0;width:2000px;"> 
The fixed header element 
</div> 
<div style="overflow:auto;width:2000px;"> 
the scrollable content element 
</div> 
+0

我假设你需要'overflow-x'或'overflow-y'。你的问题不是很清楚。 – Khez 2011-04-22 07:52:31

+0

我试图让第一个元素(固定位置的元素)滚动到左侧或右侧(y轴),每当我滚动网站。 – MJA 2011-04-22 07:59:09

+0

我不认为纯CSS可以做到这一点,JavaScript是满足您的需求的解决方案。 – 2011-04-22 08:07:23

回答

1

这是一个了不起的问题和CSS3有没有为你解答。没有办法在一个轴上固定一个元素,但不能在另一个轴上固定元素。

理想的解决方案是提供CSS3属性,比如position:fixed-x和position:fixed-y。但是没有这样的事情。

我知道有这个非常有用的行为的唯一方法是编写JavaScript函数来处理setInterval()事件;在每个事件轮询当前的X或Y滚动位置;如果要固定的轴上的滚动位置发生了变化,则更改固定元素的滚动位置以进行补偿,即将其移回到其所属的位置。

我实际上使用这种方法,它的工作原理,但它是一个痛苦。我的代码每十分之一秒轮询一次X和Y的滚动位置,这通常足以让它看起来不太生气。

您可以在工作中看到解决方案in this long table。缩小窗口以显示水平滚动条,左右滚动表格。柱头随桌子一起移动,但您可以垂直滚动桌子,柱头保持放置。

相关问题