我在 IE10 触摸设备上遇到大型固定背景图像的问题。(我有一个装有 Windows 8 的三星 Slate,但我猜测在 Surface 上可以看到相同的行为,但无法确认。)
要将大型固定图像作为网站的背景,有两种方法:
1) 在 body 元素上使用 CSS3 背景属性 - 这在 IE10 触摸设备上运行良好。但是,背景会随着 iOS 浏览器中的视口滚动。所以进入第 2 步。
2) 将背景图像放置在 body 元素内,作为内联图像或 div 内。将图像(或包含 div)设置为具有低 z-index 的位置固定。这解决了 iOS 问题,并且在我测试过的所有浏览器上都可以正常工作,除非在 IE10 上进行触摸滚动。背景图像在滚动过程中“抖动”或上下闪烁几个像素。一旦滚动结束,一切都被正确渲染了,但抖动效果看起来很糟糕。在 body 上使用 CSS3 背景属性时不会发生这种情况。
要查看此效果的一个简单站点是使用 IE10 触摸设备并浏览到Backstretch。这个 jQuery 插件在 body 的 div 中使用图像。
我很困惑如何解决这个问题。这可能只是一个渲染错误,但它很烦人,迫使我决定支持哪个浏览器。有任何想法吗?