我的编程空间,编程开发者的网络收藏夹
学习永远不晚

css属性的选择对动画性能有什么影响

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

css属性的选择对动画性能有什么影响

本篇文章为大家展示了css属性的选择对动画性能有什么影响,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

现在手机的占比越来越高,各种酷炫页面层出不穷,这些特效都离不开css动画。说到css动画,主流的情况也就无非这两大类:位移和形变。本次的目的简单粗暴地讲,其实就是我们应该使用什么css属性去进行动画的绘制时,能够有效的提高浏览器在渲染和绘制过程中的性能。

分别使用了left和transform在2秒内向右平移了500px的位移。代码如下:

JavaScript Code复制内容到剪贴板

  1. <style>   
    .box-ps,.box-tf{position:absolute;top:0;left:0;width:100px;height:100px;background-color:red;}   
    .box-ps{-webkit-animation:box-ps 2s linear;}   
    .box-tf{-webkit-animation:box-tf 2s linear;}   
      
    @-webkit-keyframes box-ps{   
    0%{   
    left:0;   
    }100%{   
    left:500px;   
    }   
    }   
      
    @-webkit-keyframes box-tf{   
    0%{   
    -webkit-transform:translate(0,0);   
    }100%{   
    -webkit-transform:translate(500px,0);   
    }   
    }   
    </style>   
      
    <body>   
    <div class="box-ps"></div>   
    <div class="box-tf"></div>   
    </body>

然后在chrome下得到了如下的结果,第一张为使用left的截图,第二张为使用transform的截图:

css属性的选择对动画性能有什么影响

transform的截图

css属性的选择对动画性能有什么影响

显而易见,我们在帧模式这里可以看到left比transform帧数要低,而且在渲染和绘制这边的耗时,left要远远的大于transform。看到这里,相信大家心里已经有结论了。
我们再利用chrome的show paint rectangles来观察一下两者在动画过程中,渲染和绘制的区域有何差异,第一张为使用left的截图,第二张为使用transform的截图:

css属性的选择对动画性能有什么影响

transform的截图

css属性的选择对动画性能有什么影响

我们可以看到,使用left写的整个动画过程中,浏览器一直在进行绘制处理。而相对而言,使用transform时,仅仅是在动画开始和结束是进行了绘制。因此,对于动画的性能上,transform要更为出色。至于原因,这里就要引入一个触发重新布局的概念:

我们在改变一些属性时,如果是跟layout相关的属性,则会触发重新布局,导致渲染和绘制所需要的时间将会更长。因此,我们在写动画的时候因该规避这些属性:width, height, margin, padding, border, display, top, right, bottom ,left, position, float, overflow等。
不会出发重新布局的属性有:transform(其中的translate, rotate, scale), color, background等。

所以,我们平时在写css动画时,应该优先使用不触发重新布局的属性,这样可以使我们所展示动画效果的更加流畅。

上述内容就是css属性的选择对动画性能有什么影响,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

css属性的选择对动画性能有什么影响

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

下载Word文档

猜你喜欢

CSS属性选择器有什么作用

这篇“CSS属性选择器有什么作用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“CSS属性选择器有什么作用”文章吧。CSS属性
2023-07-04

JAVA异常对性能有什么影响

这篇文章主要介绍“JAVA异常对性能有什么影响”,在日常操作中,相信很多人在JAVA异常对性能有什么影响问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JAVA异常对性能有什么影响”的疑惑有所帮助!接下来,请跟
2023-06-17

PHP 函数版本兼容性对性能有什么影响?

php 函数版本兼容性影响性能。忽略版本兼容性会导致效率低。较新版本的函数通常采用优化后的算法,可显着提高性能。在使用函数时,考虑其版本兼容性,避免使用已弃用的函数。采用最新版本的函数,例如 usort,可优化排序等任务的性能。PHP 函数
PHP 函数版本兼容性对性能有什么影响?
2024-04-25

虚拟主机对网站性能有什么影响

虚拟主机对网站性能有什么影响?在建立和运行网站时,选择适当的主机方案对网站的性能起着至关重要的作用。虚拟主机是一种常见的低成本的主机解决方案,它在单个物理服务器上同时托管多个网站。虽然虚拟主机为许多小型和中小型网站提供了经济实惠的方式,但它们也会对网站的性能产生一些影响。
虚拟主机对网站性能有什么影响
2024-01-24

Swoole和Workerman的区别与选择,对PHP与MySQL的性能影响

随着互联网的发展,高并发处理成为了一个重要的问题,特别是对于一些大型的互联网应用来说,如何处理高并发成为了一种挑战。在这种情况下,Swoole和Workerman这两个PHP扩展应运而生。Swoole和Workerman都是针对PHP的高性
2023-10-21

PHP 数组转对象对性能的影响是什么?

在 php 中,数组到对象的转换会对性能产生影响,主要受数组大小、复杂性、对象类等因素影响。为了优化性能,可以考虑使用自定义迭代器、避免不必要的转换、批量转换数组等技巧。PHP中数组转对象的性能影响在PHP中,数组和对象是两种常用的数据结
PHP 数组转对象对性能的影响是什么?
2024-04-30

.net core抛异常对性能的影响是什么

今天小编给大家分享一下.net core抛异常对性能的影响是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、前言疑问:
2023-07-02

友元函数对类的继承性有什么影响?

友元函数的继承性当子类继承具有友元函数的类时:子类无法继承友元函数。父类的友元函数可以访问子类的私有成员。子类的友元函数无法访问父类的私有成员。友元函数对类的继承性影响前言友元函数是一种特殊的 C++ 函数,它可以在类的作用域之外访问该
友元函数对类的继承性有什么影响?
2024-04-17

友元函数对类的封装性有什么影响?

友元函数对类的封装性有影响,包括降低封装性、增加攻击面和提高灵活性。它可以访问类的私有数据,如示例中定义为 person 类的友元的 printperson 函数可以访问 person 类的私有数据成员 name 和 age。程序员需权衡风
友元函数对类的封装性有什么影响?
2024-04-17

C++ 函数对 GUI 动画和特效的实现有什么影响?

c++++ 函数在 gui 动画和特效的实现中发挥关键作用,主要体现在:精确的帧率管理,优化动画性能和创建戏剧性效果。多线程编程,实现交互式 gui 动画和特效的实时处理。与绘图 api 集成,提供对高级图形操作的访问,实现光影效果。C++
C++ 函数对 GUI 动画和特效的实现有什么影响?
2024-04-25

编程热搜

目录