【发布时间】:2014-08-02 02:47:31
【问题描述】:
我整天都在尝试使用 CSS3 动画创建无限滚动横幅。这些是我的要求:
- 横幅宽度必须横跨整个页面;
- 无论浏览器窗口大小,动画都必须完美循环;
- 不同浏览器窗口大小的滚动速度必须一致;
- 调整大小或缩放不得违反上述任何要求;
- 必须适用于大多数浏览器(至少 Chrome 和 IE)。
This is how far I've come in JSFiddle. IE 可以,Chrome 不行。
当您在 Chrome 中缩小时,您可以看到横幅的结尾。正如@bjb568 所指出的,这可以通过设置width: 1000% 来解决。但是,如果您在缩小后刷新页面,然后再放大到 100%,您会发现它不再完美循环,并且滚动速度比以前慢了很多。
由于某种原因,这不能很好地与 Chrome 的缩放功能配合使用。我尝试使用 em 但这并没有解决它。有人可以帮帮我吗?
Tl;dr:在 Chrome 中,缩小、刷新和重新放大后,要求 2 和 3 失败。
【问题讨论】:
-
如果我错了,请纠正我,但在我看来,您正在尝试解决我不会考虑正常用户行为的问题。我想说的不要太关注非标准行为,因为你很可能不会再遇到这种情况,除非现在,在开发过程中......假设有人真的以 50% 的视口浏览,他很可能不会注意到动画“太慢”,他会认为这是应该的速度......不过我会看看;)
-
对我来说,不只是使用非 100% 视口时速度下降,动画本身循环不正确。 (见下面的 cmets @bjb568's answer)但似乎并不是每个人都得到了这种行为。
标签: css google-chrome css-animations css-transforms