所以我有一些本机元素(div),其中应用了各种各样的效果(border-radius,Box-shadow和transform:scale())。当我给他们动画时,会发生两件奇怪的事情:
>即使我不想动画化动画,如果我不把动画放在比例尺上,那就被忽略了。
>当我在动画中放置比例时,Webkit会模糊元素
看到这里的例子:http://jsfiddle.net/trolleymusic/RHeCL/ – 底部的按钮将触发问题。
第一个问题发生在Firefox中,所以我猜这是因为这是动画规范应该是如何工作的。不是我想要的,但是,我会和它一起生活。
第二个问题是奇怪的。我知道这与3D变换有关,因为如果我(仅用于测试目的)声明-webkit-perspective或-webkit-transform-style:preserve-3d;在圆形元素上,它也会导致模糊问题。我的困惑是,我并不想像所有这样转换z索引,我也尝试使用纯粹的translateY而不是翻译的动画。
它发生在Chrome(18),Chrome Canary(20)和Safari(5.1.2& 5.1.4)中。
那么,我正在发生什么事情?我怎么可以避免模糊?
最糟糕的情况:我可以使用不同的大小的元素,而不是缩放它们,这不是一个真正的问题 – 但我认为这将是一个更优雅的解决方案,现在这个问题已经出现了。
解决方法
参考这个答案,为什么它会模糊元素:
http://stackoverflow.com/a/4847445/814647
以上概述:WebKit在动画化之前将原始大小/ CSS,并将其视为图像,然后将其缩放,产生模糊性。
解决方案:使初始尺寸达到最大规模,并开始使用较小的刻度(因此,在您的情况下,要将尺寸增加5,并将初始刻度设置为0.2)
UPDATE
它忽略了我所理解的当前规模的原因是因为您没有专门设置JUST的翻译(现在我正在查找CSS)。当您运行-webkit-animation时,它将重置所有当前的变换(缩放),因此您需要确保您的尺寸在那里。我正在查找css进行更改,因此只会改变位置: