带有变形的CSS3动画导致Webkit上的元素模糊

前端之家收集整理的这篇文章主要介绍了带有变形的CSS3动画导致Webkit上的元素模糊前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我有一些本机元素(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进行更改,因此只会改变位置:

原文链接:https://www.f2er.com/css/218762.html

猜你在找的CSS相关文章