js动画及css动画区别

面试碰到的知识点,疏忽了,参考了别人的总结,记录一下。
参考:https://www.zhihu.com/question/63437509

总结如下:
1、js是逐帧动画,css是补间动画。
2、js动画控制能力很强, 可以在动画播放过程中对动画进行控制:开始、暂停、回放、终止、取消都是可以做到的。css运行过程控制较弱,无法附加事件绑定回调函数。css动画只能暂停,不能在动画中寻找一个特定的时间点,不能在半路反转动画,不能变换时间尺度,不能在特定的位置添加回调函数或是绑定回放事件,无进度报告。
3、js动画使用CPU运算,会阻塞,css动画使用gpu运算,不会阻塞。
4、css 有浏览器兼容问题,js 大多情况下是没有的。
5、如果动画只是一些简单的状态切换,滑动等效果,不需要中间的控制过程,css3是比较好的选择,它直接在css文件中就可以实现,并不需要引入太多的js库。而你想做一些复杂的客户端界面,开发一个复杂ui的app,实现一个复杂纹理动画等,需要对页面进行精准的控制计算,js是不错的选择。

你可能感兴趣的:(经验分享,css,动画,面试)