广告
返回顶部
首页 > 资讯 > 前端开发 > html >css3动画和js动画有哪些区别
  • 468
分享到

css3动画和js动画有哪些区别

2024-04-02 19:04:59 468人浏览 八月长安
摘要

这篇文章给大家分享的是有关css3动画和js动画有哪些区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 区别:1、js动画的控制能力比CSS3动画强

这篇文章给大家分享的是有关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动画有兼容性问题

缺点
  • js动画的复杂度高于css3

  • js在动画浏览器的主线程中执行,而主线程还有其他javaScript脚本,样式计算、布局、绘制任务等,对其干扰可能出现阻塞从而出现丢帧的情况

  • js动画往往需要频繁操作DOM的css属性来实现视觉上的动画效果,这个时候浏览器要不停地执行重绘和重排,这对于性能的消耗是很大的,尤其是在分配给浏览器的内存没那么宽裕的移动端。

CSS3动画

优点:

1、部分情况下浏览器可以对动画进行优化,为什么说部分情况下呢,因为是有条件的:

  • 在Chromium基础上的浏览器中

  • 同时CSS动画不触发layout或paint,在CSS动画或JS动画触发了paint或layout时,需要main thread进行Layer树的重计算,这时CSS动画或JS动画都会阻塞后续操作。

    在主线程中,维护了一棵Layer树(LayerTreeHost),管理了TiledLayer,在compositor thread,维护了同样一颗LayerTreeHostImpl,管理了LayerImpl,这两棵树的内容是拷贝关系。因此可以彼此不干扰,当Javascript在main thread操作LayerTreeHost的同时,compositor thread可以用LayerTreeHostImpl做渲染。当Javascript繁忙导致主线程卡住时,合成到屏幕的过程也是流畅的。
    为了实现防假死,鼠标键盘消息会被首先分发到compositor thread,然后再到main thread。这样,当main thread繁忙时,compositor thread还是能够响应一部分消息,例如,鼠标滚动时,加入main thread繁忙,compositor thread也会处理滚动消息,滚动已经被提交的页面部分(未被提交的部分将被刷白)。

2、部分效果可以强制使用硬件加速 (通过 GPU 来提高动画性能)

缺点
  • 运行进程控制较弱,css3动画只能在某些场景下控制动画的暂停与继续,不能在特定的位置添加添加回调函数

  • 代码冗长。想用 CSS 实现稍微复杂一点动画,最后CSS代码都会变得非常笨重。

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动画有哪些区别”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: css3动画和js动画有哪些区别

本文链接: https://www.lsjlt.com/news/87699.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • css3动画和js动画有哪些区别
    这篇文章给大家分享的是有关css3动画和js动画有哪些区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 区别:1、js动画的控制能力比css3动画强...
    99+
    2022-10-19
  • css3动画和jquery动画有哪些区别
    本篇内容介绍了“css3动画和jquery动画有哪些区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • js动画和css动画的区别有哪些
    这篇文章将为大家详细讲解有关js动画和css动画的区别有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 区别:1、js是逐帧动画,每一帧都...
    99+
    2022-10-19
  • CSS3动画和js动画的区别是什么
    小编给大家分享一下CSS3动画和js动画的区别是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!   css实现动画:ani...
    99+
    2022-10-19
  • CSS3中过渡与动画有哪些区别
    这篇文章主要介绍“CSS3中过渡与动画有哪些区别”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“CSS3中过渡与动画有哪些区别”文章能帮助大家解决问题。 ...
    99+
    2022-10-19
  • css3动画效果属性canvas和svg的区别有哪些
    本文小编为大家详细介绍“css3动画效果属性canvas和svg的区别有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“css3动画效果属性canvas和svg的区别有哪些”文章能帮助大家解决疑惑,下面...
    99+
    2022-10-19
  • css3动画属性有哪些
    本篇内容主要讲解“css3动画属性有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“css3动画属性有哪些”吧! css3三大动画...
    99+
    2022-10-19
  • CSS3中动画属性有哪些
    这篇文章主要介绍了CSS3中动画属性有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。CSS3 动画虽然transition在一定的时间内...
    99+
    2022-10-19
  • CSS3的动画工具有哪些
    今天小编给大家分享一下CSS3的动画工具有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧...
    99+
    2022-10-19
  • css3动画的属性有哪些
    这篇文章主要讲解了“css3动画的属性有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css3动画的属性有哪些”吧!css3动画属性有:“@keyframes”、animation、an...
    99+
    2023-06-14
  • CSS3中与动画有关属性transition、animation、transform的区别有哪些
    这篇文章给大家分享的是有关CSS3中与动画有关属性transition、animation、transform的区别有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。最近应公司...
    99+
    2022-10-19
  • css3中的动画属性有哪些
    这篇文章主要为大家展示了“css3中的动画属性有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“css3中的动画属性有哪些”这篇文章吧。   css3的动画...
    99+
    2022-10-19
  • css3实现动画的方式有哪些
    这篇文章将为大家详细讲解有关css3实现动画的方式有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。   css实现动画主要有3种方式,第一种是:transition...
    99+
    2022-10-19
  • 使用css3实现动画有哪些好处
    这篇文章主要介绍使用css3实现动画有哪些好处,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! css3实现动画的好处:1、浏览器可以对动画进行优化(元素不...
    99+
    2022-10-19
  • css3技术的hover动画效果有哪些
    这篇文章给大家分享的是有关css3技术的hover动画效果有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。hover动画,简言之就是鼠标移上去触发的动画,就是触发了鼠标的ho...
    99+
    2022-10-19
  • css3设置动画的相关属性有哪些
    这篇文章主要介绍“css3设置动画的相关属性有哪些”,在日常操作中,相信很多人在css3设置动画的相关属性有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css3设置动画...
    99+
    2022-10-19
  • css3如何实现小球滚动和js控制动画暂停
    这篇文章给大家分享的是有关css3如何实现小球滚动和js控制动画暂停 的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。CSS3 可以创建动画,它可以取代许多网页动画图像、Flas...
    99+
    2022-10-19
  • CSS动画属性有哪些
    CSS动画属性有以下几种:1. animation-name:指定一个关键帧动画的名称。2. animation-duration:...
    99+
    2023-10-12
    CSS
  • JavaScript的动画库有哪些
    本篇内容介绍了“JavaScript的动画库有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Three...
    99+
    2022-10-19
  • CSS动画工具有哪些
    这篇“CSS动画工具有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“CSS动画工具有哪...
    99+
    2022-10-19
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作