所以我有一些原生元素(div
s),它们应用了各种效果(border-radius
和box-shadow
)transform: scale()
。当我为它们设置动画时,会发生两件奇怪的事情:
- 即使我没有尝试为比例设置动画,但如果我不将比例放入动画中,它也会被忽略。
- 当我将比例放入动画时,Webkit 会模糊元素
请参阅此处的示例:http: //jsfiddle.net/trolleymusic/RHeCL/ - 底部的按钮将触发问题。
第一个问题也发生在 Firefox 中,所以我猜这是因为动画规范应该是这样工作的。不是我想要的,但好吧,我会忍受的。
第二个问题很奇怪。我知道这与3d 变换有关,因为如果我(仅出于测试目的)声明-webkit-perspective
或-webkit-transform-style: preserve-3d;
在圆形元素上,它也会导致模糊问题。我的困惑是我并没有尝试转换 z 索引,而且我也尝试过使用纯粹translateY
而不是translate
.
它发生在 Chrome (18)、Chrome Canary (20) 和 Safari (5.1.2 & 5.1.4) 中。
那么,我认为正在发生的事情是对的吗?我怎样才能避免模糊?
最坏的情况:我可以为元素使用不同的大小而不是缩放它们,这不是一个真正的问题 - 但我认为这将是一个更优雅的解决方案,现在这个问题已经出现了。