css - CSS旋转动画编织无法正常工作
问题描述
我正在尝试用 css 实现一个简单的动画。我的标记具有以下结构:
<main>
<left />
<middle />
<right />
</main>
我希望我的动画执行以下序列:
// second 0 - 2: Do nothing
// second 2 - 3: hide the middle element, move the left element to the right, and the right element to the left.
// second 3 - 4: Rotate the main element 360 degrees
// second 4 - 6: Do nothing
// second 6 - 7: show the middle element, move the left element to the left, and the right element to the right.
// Repeat
这是我的CSS代码:
@keyframes hideMiddle {
28.57%, 42.85% {opacity: 0;}
85.71%, 100% {opacity: 1;}
}
@keyframes moveRight {
28.57%, 42.85% { transform: translateX(15%);}
85.71%, 100% {transform: translateX(0%);}
}
@keyframes moveLeft {
28.57%, 42.85% {transform: translateX(-22%);}
85.71%, 100% {transform: translateX(0%);}
}
@keyframes rotateMain {
42.85%, 57.14% {transform: rotate(360deg);}
}
一切正常,直到我添加 rotateMain 动画,此时它似乎从动画的开始运行,而不是从它设置开始的位置开始运行,并且它似乎做了额外的旋转。任何帮助表示赞赏,非常感谢。
解决方案
因此,在玩了一会儿之后,我想通了,我将留下一个问题的答案,以防有人发现这有一些用处,尽管它不是最好的问题:
所以问题出在旋转关键帧上,我使用了这个:
@keyframes rotateMain {
42.85%, 57.14% {transform: rotate(360deg);}
}
认为它会将图形从 42.85% 旋转 360 度到 57.14%。下面的代码实际上实现了我想要的:
@keyframes rotateMain {
42.85% {transform: rotate(0deg);}
57.14% {transform: rotate(360deg);}
100% {transform: rotate(360deg);}
}
推荐阅读
- kubernetes - Kubernetes 使用一个部署文件创建多个部署
- java - Jpql 没有通过两级提取获得空值
- here-api - HereMaps 定价中的“每月资产”是什么意思?
- python - 如何在 HTML 中获取文件的完整路径位置
- gradle - 从自定义插件动态加载 Gradle 插件
- javascript - PSPDFKIT instance.addEventListener('annotations.create') 缺少注释类型
- typescript - 强类型工作者
- excel - 如何复制vba单元格
- windows - 无法在本地 Windows gitlab runner 中执行 bash 脚本
- mapstruct - 我可以强制 mapstruct 将映射方法委托给另一个映射方法或默认(内置)转换吗?