博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSS3高性能动画
阅读量:7222 次
发布时间:2019-06-29

本文共 1109 字,大约阅读时间需要 3 分钟。

CSS动画属性会触发整个页面的重排relayout、重绘repaint、重组recomposite

Paint通常是其中最花费性能的,尽可能避免使用触发paint的CSS动画属性,在CSS动画中使用webkit-transform: translateX(3em)的方案代替使用left: 3em,因为left会额外触发layout与paint,而webkit-transform只触发整个页面composite;

div {  /*IE10以下支持哈*/  /*定义动画完成一个周期所需要的时间,以秒或毫秒计*/  -webkit-animation-duration: 5s;   /*绑定规则名字*/  -webkit-animation-name: move;  /*规定播放次数 无限次*/  -webkit-animation-iteration-count: infinite;   /*定义是否应该轮流反向播放动画*/  -webkit-animation-direction: alternate;  width: 200px;  height: 200px;  margin: 100px;  background-color: #808080; /*性能优化,尽量让动画元素脱离文档流,以减少重排*/  position: absolute;}/*css3动画  @keyframes 规则*//*制定规则为move的动画*/@-webkit-keyframes move{
from { left: 100px; } to {
left: 200px; }}/*这里的@keyframes规则中left会额外触发layout和paint 应该优化为transform形式 transform只会触发composite*/@-webkit-keyframes move{
from { -webkit-transform: translateX(100px); } to {
-webkit-transform: translateX(200px); }}/*相应兼容性修改-webkit前缀即可*/
View Code

 参考:

*********IE10以下不支持animation-direction,修改代码中的错误注释********

转载于:https://www.cnblogs.com/zoujking/p/4179112.html

你可能感兴趣的文章
「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
查看>>
Rancher-k8s加速安装文档
查看>>
create-react-app项目添加less配置
查看>>
ucore操作系统实验笔记 - 重新理解中断
查看>>
leetcode46 Permutation 排列组合
查看>>
Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
查看>>
从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
查看>>
JS题目及答案整理
查看>>
C++11: atomic 头文件
查看>>
听说你叫Java(二)–Servlet请求
查看>>
vue脚手架vue-cli
查看>>
算法---两个栈实现一个队列
查看>>
redis学习笔记(三):列表、集合、有序集合
查看>>
TypeScript迭代器
查看>>
python学习笔记 - ThreadLocal
查看>>
基于组件的设计工作流与界面抽象
查看>>
案例分享〡三拾众筹持续交付开发流程支撑创新业务
查看>>
vagrant 添加本地 box 安装 laravel homestead
查看>>
Vim 折腾记
查看>>
eclipse(luna)创建web工程
查看>>