animation-fill-mode:forwards 如何让动画保持最后一帧一直循环?

2023-11-03 22:10

本文主要是介绍animation-fill-mode:forwards 如何让动画保持最后一帧一直循环?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题是这样的, 当我对一个圆球旋转进行定义时, 圆球执行一个周期的旋转后开始进行反向旋转。 无论是否定义forwards 都是这样
在这里插入图片描述
下面就是导致出现问题的错误示例:

@keyframes earthRotate {0% {transform:rotateX(0deg)  rotateY(0deg) rotateX(16deg);}50% {transform:rotateX(0deg)  rotateY(360deg) rotateX(16deg);}100% {transform: rotateX(0deg) rotateY(0deg) rotateX(16deg);}
}
/*这里我直接使用简写方式最后的一个参数就是 animation-fill-mode*/
animation: earthRotate 5s linear infinite forwards;

问题总结:问题的出现并不是forwards 没有执行,而是关键的一点就是在定义动画的最后一帧方面。上面的示例最后一帧定义与第一帧是一样的。原来的理解是旋转会继续循环下去 。结果反向回退到第一帧的位置然后继续进行。这样就导致循环旋转动画不能一直保持循环。

在这里插入图片描述
改进后:

@keyframes earthRotate {0% {transform:rotateX(0deg)  rotateY(0deg) rotateX(16deg);}100% {transform:rotateX(0deg)  rotateY(360deg) rotateX(16deg);}
}
animation: earthRotate 5s linear infinite forwards;

总结: 因为旋转不比移动, 旋转一360就是原点。 所以定义两帧就够, 直接将最后一帧定义在360的位置就可以形成一个完整的循环。而上面的其实是三帧, 第三帧是回退效果所以看起来好像执行了反向运行其实是执行了一个完整的动画。

这篇关于animation-fill-mode:forwards 如何让动画保持最后一帧一直循环?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/341198

相关文章

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

浅谈mysql的sql_mode可能会限制你的查询

《浅谈mysql的sql_mode可能会限制你的查询》本文主要介绍了浅谈mysql的sql_mode可能会限制你的查询,这个问题主要说明的是,我们写的sql查询语句违背了聚合函数groupby的规则... 目录场景:问题描述原因分析:解决方案:第一种:修改后,只有当前生效,若是mysql服务重启,就会失效;

Python循环缓冲区的应用详解

《Python循环缓冲区的应用详解》循环缓冲区是一个线性缓冲区,逻辑上被视为一个循环的结构,本文主要为大家介绍了Python中循环缓冲区的相关应用,有兴趣的小伙伴可以了解一下... 目录什么是循环缓冲区循环缓冲区的结构python中的循环缓冲区实现运行循环缓冲区循环缓冲区的优势应用案例Python中的实现库

Java嵌套for循环优化方案分享

《Java嵌套for循环优化方案分享》介绍了Java中嵌套for循环的优化方法,包括减少循环次数、合并循环、使用更高效的数据结构、并行处理、预处理和缓存、算法优化、尽量减少对象创建以及本地变量优化,通... 目录Java 嵌套 for 循环优化方案1. 减少循环次数2. 合并循环3. 使用更高效的数据结构4

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

MySQL报错sql_mode=only_full_group_by的问题解决

《MySQL报错sql_mode=only_full_group_by的问题解决》本文主要介绍了MySQL报错sql_mode=only_full_group_by的问题解决,文中通过示例代码介绍的非... 目录报错信息DataGrip 报错还原Navicat 报错还原报错原因解决方案查看当前 sql mo

Python判断for循环最后一次的6种方法

《Python判断for循环最后一次的6种方法》在Python中,通常我们不会直接判断for循环是否正在执行最后一次迭代,因为Python的for循环是基于可迭代对象的,它不知道也不关心迭代的内部状态... 目录1.使用enuhttp://www.chinasem.cnmerate()和len()来判断for

Java循环创建对象内存溢出的解决方法

《Java循环创建对象内存溢出的解决方法》在Java中,如果在循环中不当地创建大量对象而不及时释放内存,很容易导致内存溢出(OutOfMemoryError),所以本文给大家介绍了Java循环创建对象... 目录问题1. 解决方案2. 示例代码2.1 原始版本(可能导致内存溢出)2.2 修改后的版本问题在

最好用的WPF加载动画功能

《最好用的WPF加载动画功能》当开发应用程序时,提供良好的用户体验(UX)是至关重要的,加载动画作为一种有效的沟通工具,它不仅能告知用户系统正在工作,还能够通过视觉上的吸引力来增强整体用户体验,本文给... 目录前言需求分析高级用法综合案例总结最后前言当开发应用程序时,提供良好的用户体验(UX)是至关重要