google-chrome - 固定背景图像时,chrome 中的滚动不连贯

标签 google-chrome background scroll fixed

我正在尝试创建一个视差网站。但是后来我遇到了固定定位的问题。

我有几个部分,每个部分都有 background-attachment:fixed .
一个 position:fixed顶部的菜单栏,在所有部分的顶部都有一个隐藏元素。
谷歌地图 100% 在其中一个部分。

现在,问题是当我在谷歌浏览器中滚动带有动画的页面时,滚动并不顺畅,并且在滚动时会闪烁几次。

我使用 greensock scrollTo 插件进行滚动,但这不是问题,因为我还使用 jquery .animate() 对其进行了测试方法。结果相同。

我做了一项研究,发现 chrome 存在固定定位的错误或问题(有时当您将隐藏元素放入其中时)
一些页面建议将这两个与固定元素一起使用:

-webkit-backface-visibility:hidden; 
-webkit-transform: translateZ(0);

我将此添加到固定菜单中,并且它的一些波动行为减少了,但仍然不流畅。
如果我将其添加到带有 background-attachment:fixed 的部分中元素,滚动动画变得平滑但不再固定。

有人说 chrome 对大图像有问题,有人说它有固定位置问题,还有一些人的解决方案对我不起作用:D

我上传了页面:
http://www.FarzanMohajerani.com/test/parallax
只需单击页面上的任意位置即可滚动。

我还用完全相同的代码创建了一个 jsFiddle。但我不知道为什么它在 jsFiddle 中没有问题:
http://jsfiddle.net/Farzanmc/cRqxT/5/

如果有人能指导我找到正确的解决方案或提醒我是否做错了什么,那就太好了。
谢谢

最佳答案

这为我解决了这个问题:

-webkit-transform: translate3d(0,0,0);

添加此规则会将元素转换为 Chrome 中的层,从而避免重新绘制。在我的独特情况下,错误是由浏览器重新绘制引起的。

关于google-chrome - 固定背景图像时,chrome 中的滚动不连贯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16917120/

相关文章:

css - Chrome - CSS 边框无法正常工作

css - 为什么 Chrome 需要 CSS 游标的 -webkit- 前缀?

css - Chrome 和 FireFox 中的 ToolTip bluets CSS 问题

css - 背景覆盖跨浏览器的最佳方式

javascript - 滚动面板在底部,css 很老套,javascript 很难

apache-flex - 使用鼠标滚轮的 Flex 列表滚动速度

javascript - Chrome 扩展违反谷歌安全政策

CSS - 如何添加第二个背景图像

jquery - 我希望我的 body 背景图像每 5 秒淡入淡出一次,如果不是至少每 5 秒改变一次

css - 如何在超宽网页上水平滚动居中?