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

发布时间:2021-09-15 15:29:44 作者:柒染
来源:亿速云 阅读:164

本篇文章为大家展示了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属性的选择对动画性能有什么影响,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. CSS3 动画属性
  2. css中动画属性如何使用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

css web开发

上一篇:iOS自带九宫格拼音键盘和Emoji表情之间的问题有哪些

下一篇:sql语句的优化方式

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》