我将(position: absolute; left: 50%; margin: -50px;)
100px 宽度的 div (容器)居中。
它具有绝对定位的子 div overflow: hidden
,其大小为100x2000 px
(此高度用于测试目的,如下所述)。
子 div 中有一个图像,它是绝对定位的。图像是3100x100 px,
它包含动画帧。
我通过将其style.left
从 0 更改为 -1100px 来设置此图像的动画,步长为 100px。一切都很好,但是当身体宽度不均匀时我遇到了奇怪的问题。
如果有滚动条并且滚动条具有奇数宽度,则可能会发生这种情况(例如,在 Chrome/Win32 上发生这种情况)。在这种情况下,只要动画图像通过屏幕边缘,图像就会在视觉上水平移动 1 个像素(对于 1920x1080,它大约发生在动画的 9-10 帧处)。我找不到这种行为的解决方法。
子 div 高度设置为 2000px 以确保滚动条可见。如果您的滚动条的宽度是偶数,您可以通过将浏览器窗口调整为奇数宽度来重现该问题。