1

我对 Skrollr 有疑问。向下滚动时,我有一个 div(灰色)从左到右改变它的位置。在 div(黄色)内部,还有另一个 div。只要父 div 仍在更改其位置,我希望它保持在相同的高度。我尝试通过更改边距顶部来做到这一点,就像这样:

<div id="grey" data-100="right:100%;" data-700="right:50%;">
<div id="yellow" data-100="margin-top:200px;" data-700="margin-top:800px;"</div></div>  

这就是发生的事情。 一切都会好起来的,但是黄色的 div 在向右移动时会上下移动。有没有办法在不使用“位置:固定”的情况下解决这个问题?感谢帮助!

编辑:顺便说一句,在 iPad 上它可以工作。

4

1 回答 1

1

浏览器将黄色 div 向上移动(与其他所有内容一样,因为它正在滚动),然后margin-top动画再次将其向下移动。获得完美结果的唯一方法是使用fixed.

但是您可以通过禁用黄色 div 的平滑滚动来使其稍微好一些。当滚动非常快时,您仍然会看到它在跳跃。

<div id="yellow" data-smooth-scrolling="off" data-100="margin-top:200px;" data-700="margin-top:800px;"</div>

我还建议使用 CSS 转换而不是边距。

<div id="yellow" data-smooth-scrolling="off" data-100="transform:translate(0, 200px);" data-700="transform:translate(0, 800px);"</div>
于 2013-11-24T08:43:06.300 回答