硬件加速CSS3动画VS转换VS jQuery动画移动

时间:2013-06-14 11:46:36

标签: css3 jquery-animate css-transitions

我正在使用PhoneGap和jQuery开发一个应用程序,对动画有点困惑。

我决定使用我已经知道的东西,这是jQuery动画,这很有效,除了我遇到人们谈论硬件加速。

我正在做的就是动画一个div来在页面加载时向右移动:

$("#"+that).find('.captionShine img').animate({left: '550'},700);

我发现了一个名为jQuery-Animate-Enhanced的插件,它将这些动画转换为CSS3过渡,因此硬件加速了它们(我相信)。

所以我更多地研究了CSS3动画,并对CSS3中的过渡和动画之间的区别感到困惑。我还可以在CSS3动画上使用硬件准备吗?或者只能在transform: translate3d(0,0,0);

上完成

是否只是将translate3D与我想要硬件加速的任何元素相关联?

1 个答案:

答案 0 :(得分:2)

kirupa在这里有一个非常好的解释:http://www.kirupa.com/html5/css3_animations_vs_transitions.htm

首先阅读他的结论要点,然后从顶部开始阅读以填写详细信息。基本上,转换和动画是在css中定义动画的两种不同方式。以下是我自己对作者结论的翻译。

  • 转换允许您执行从a到b动画的非常简单的css。想象一下,你有一个带有class =“from-a”的元素,然后你将一个类添加到名为class =“to-b”的元素中。 class =“to-b”中的转换定义是动画结束的位置。

  • 动画允许您使用关键帧css定义来定义/编排整个动画。关键帧允许您分解和编排一系列复杂的动画。

  • 如您所见,因为Transitions基于向元素添加类或样式。您可以轻松定义一系列类,并使用javascript + timeout来设置这些类,并创建与动画相同类型的编排。