Chrome CSS3 3D 变换漏洞

3
我使用CSS在3D空间中实现了元素翻转的效果。但是,在Chrome浏览器中,当您上下滚动页面时,会在某些位置随机出现白色元素。我在Facebook选项卡内附上了一个示例图像。在Windows Chrome中,这些白色“框”有时会覆盖内容。当我注释掉3D变换的CSS时,这种情况就不会发生。以下是实现3D效果的CSS代码的fiddle(http://jsfiddle.net/derekaug/QSEvs/)。很遗憾,我不能链接到实际选项卡,因为它还没有公开。

我无法在Chrome 18 / OSX 10.6.8中复制该问题。话虽如此,这可能是因为.entry没有宽度?尝试将width: 250px添加到.entry类中? - user1211577
啊,那就不用担心了。就像我说的,我自己也无法解决这个问题,所以只是在瞎猜! - user1211577
似乎有一些事实是它加载在 Facebook 选项卡中的 iframe 中。除非它在 iframe 中,否则我无法复制它。 - derekaug
1个回答

0

我以前遇到过类似的问题,不是说这种方法一定有效,但我解决的办法是在元素没有使用时移除所有的transform CSS属性。

也就是说,只有在动画进行时才应用transform属性。这意味着在你的例子中,需要创建两个类,每个动画对应一个类,包含所有的transform属性,并移除基本类中的属性。然后在点击事件中应用相应的类,并在变换结束后移除该类。当过渡效果结束时,元素会触发一个JavaScript回调函数,你可以在其中移除该类:

CSS3过渡事件


这在Chrome中有效,但在Safari中启动动画时会导致整个页面闪烁。 - derekaug
向前走一步,向后退一步……你有新代码的示例吗?不展示代码很难猜测。 - Fernando Diaz Garrido
应用程序即将上线,我会在拥有链接时将其添加到主贴中。 - derekaug

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接