2013-09-27 28 views
1

使用CSS transform属性更改3D透视图时,遇到Internet Explorer 10上的问题。使用CSS3透视变换的IE10上的工件

在应用了透视图的元素中包含的某些元素的边上会出现随机假象。

我创建了一个简单的小提琴来演示这个问题: http://jsfiddle.net/b9ztC/

要重现,只需打开小提琴,并尝试选择,单击或玩弄文字,这导致以下工件出现/消失的段落元件周围:

IE10 perspective transform artifacts

更多线和伪影出现在更复杂的情况,并且原因似乎是CSS的下面的行:

transform: perspective(800px); 

解决问题的唯一途径似乎是:

  • 未曾申请到元素
  • 角度变换角度设置为0px
  • 使用perspective: 800px,而不是transform: perspective(800px)

最后一个似乎是一个简单的解决方案,但它在某些情况下效果不好,下面的3D f (例如,在使用IE10的卡的背面具有相同的工件问题)在将透视属性与旋转变换分开应用时效果不佳:http://www.cssplay.co.uk/menu/css3-3d-card.html

有没有人遇到过这个问题?有什么办法可以防止这种情况发生?

我也想知道这是否发生在每台机器上,或者它可能是硬件相关的问题。

回答

0

我看到或多或少相同的问题,虽然只在div的左侧,它根据变换而变化。这似乎是通过线条边缘流血的背景。

我在Windows 7 x64上使用Radeon HD 4670(Catalyst 13.1),使用IE 10.0.9200.16686(KB2870699)。

到目前为止,我发现的唯一实用的解决方法是在内部元素上应用填充,即在p而不是在div上。但是我不确定填充是否实际上是触发器,所以这可能不适用于其他情况。