我无法让 CSS3 转换和 Google 地图在 Android 2.2 的 WebView 中很好地配合使用。这是一个 fiddle,有两个按钮来测试转换。您需要在 Chrome 中启用“模拟触摸事件”才能在桌面上单击它们。我使用的设备有一个 1024x600 的屏幕。
如果我不做任何特别的事情,则在转换开始时会闪烁。现在,如果我添加 -webkit-backface-visibility: hidden 到我正在应用转换的元素,一切都如丝般光滑,没有闪烁,但地图变得异常缓慢,你不能勉强滚动。
我试图通过将 -webkit-backface-visibility 设置为可见来解决此问题。这可行,地图将再次正常,但设置属性会导致闪烁。我还玩过 -webkit-perspective 和 -webkit-transform-style,它们似乎也可以在转换开始时消除闪烁,但它们在移除时也会导致闪烁。
我还注意到将“-webkit-backface-visibility: hidden”应用于页面上的任何元素会使转换开始时的闪烁消失。所以我放了一个带有属性的小 div,当转换完成后,我用“display:none”隐藏它。这也会导致闪烁。
因此,我的问题是:我怎样才能拥有 -webkit-backface-visibility (我需要它以使转换无闪烁)和谷歌地图,而不会使地图变慢?