学习准备

学习准备免费看

CSS动画的优缺点和JavaScript动画的优缺点,技术选型问题

2018-08-21侠课岛    初级拔高       

前端/前端/前端动画技术 44     0     5540

学习准备

对于很多前端工程师来说,动画和可视化是最有趣的技术部分之一,它可以让我们做出体验很好而且很炫的视觉效果,对于很多产品来说,完成一些动画交互是提高用户体验的绝佳方式,目前我们在前端领域实现动画大概分为两种技术方案,一种是用css来实现动画,另外一种是通过JavaScript控制来实现动画效果,下面我们将分别介绍一下CSS动画以及JavaScript动画的比较以及实际应用中的技术选型

CSS和JavaScript动画的比较

早期的前端开发,很多开发者比较习惯使用jQuery来给元素添加各种动画,其原因是开发成本相对较低而且足以满足产品需求,但是随着项目日渐复杂,各种移动端设备大量增加,导致动画的表现性越来越重要,加之html5和css3的崛起,让我们在制作动画时的选择越来越多,css开发动画的方案也逐渐被人广泛接受。下面我们来比较一下CSS和JavaScript动画的优势及缺陷

CSS动画

优点:

  1. 浏览器使用与 requestAnimationFrame 类似的机制,requestAnimationFrame 会把每一帧中的所有DOM操作集中起来,在一次重绘或回流中就完成,并且重绘或回流的时间间隔紧紧跟随浏览器的刷新频率,一般来说,这个频率为每秒60帧。在隐藏或不可见的元素中requestAnimationFrame不会进行重绘或回流,这当然就意味着更少的的CPU,GPU和内存使用量。
  2. 浏览器会为我们优化,它将强制使用硬件加速 (通过 GPU 来提高动画性能)
  3. 使用相对简单,不需要很多的学习成本

缺点:

  1. 运行过程控制较弱,无法附加事件绑定回调函数。CSS动画只能暂停,不能在动画中寻找一个特定的时间点,不能在半路反转动画,不能变换时间尺度,不能在特定的位置添加回调函数或是绑定回放事件,无进度报告
  2. 如果很复杂的动画,会导致代码质量变差,可读性降低
  3. 兼容性不高,基于 CSS 的动画在 IE9 及之前版本的浏览器兼容性很差
  4. 效果有限,CSS动画基于属性的限制,并不能实现有特别有创造性的动画

本教程图文或视频等内容版权归侠课岛所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、转贴或以其他方式复制发布或发表。

评价

44

本课评分:
  •     非常好
难易程度:
  •     适中的
|
教程
粉丝
主页

签到有礼

已签到2天,连续签到7天即可领取7天全站VIP

  • 1
    +2 金币
  • 2
    +3 金币
  • 3
    +5 金币
  • 6
    +7 金币
  • 5
    +6 金币
  • 4
    暖心福利
    自选分类VIP ×1天
  • 7
    惊喜大礼

    自选分类VIP ×3天 +20金币
  • 持续签到 +8 金币

金币可以用来做什么?