这篇文章给大家分享的是有关css3动画和js动画有哪些区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
区别:1、js动画的控制能力比css3动画强;2、js动画的效果比css3动画丰富;3、js动画大多数情况下没有兼容性问题,而css3动画有兼容性问题;4、js动画的复杂度高于css3动画。
本教程操作环境:windows7系统、CSS3&&javascript1.8.5版、Dell G3电脑。
JS动画
优点:
js动画控制能力强,可以在动画博凡过程中对动画进行精细控制,开始、暂停、终止、取消都是可以做到的
动画效果比css3动画丰富,比如曲线运动,冲击闪烁,视差滚动效果,只有js动画才能完成
js动画大多数情况下没有兼容性问题,而css3动画有兼容性问题
缺点
CSS3动画
优点:
1、部分情况下浏览器可以对动画进行优化,为什么说部分情况下呢,因为是有条件的:
2、部分效果可以强制使用硬件加速 (通过 GPU 来提高动画性能)
缺点
css动画比js动画流畅的前提
js在执行一些复杂的任务
css动画比较少或者不触发pain和layout,即重绘和重排,例如通过改变如下属性生成的css动画
backface-visibility
opacity
perspective (设置元素视图)
perspective-origin
transfrom
部分属性能够启动3D加速和GPU硬件加速,例如使用transform的translateZ进行3D变换时
在Chromium基础上的浏览器中,这个貌似是内核做了优化,当css动画知识改变transfrom和opacity时,整个CSS动画得以在compositor thread完成(而JS动画则会在main thread执行),这样css动画渲染不会影响主线程。
感谢各位的阅读!关于“css3动画和js动画有哪些区别”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!