在使用CSS 关键帧动画时,我发现当我给一个元素两个动画时,例如:
.element {
animation: animate1 1000ms linear infinite,
animate2 3000ms linear infinite;
}
如果两个动画都使用该transform
属性进行动画处理,则只有最后一个通过级联触发。但是,如果@keyframes
动画是让我们说一个margin
或display
某个其他css
属性和其他用途transform
,那么它们都会触发。
这是一个带有以下相关代码的代码笔示例。
CSS
@keyframes move {
0%, 100% { transform: translateX(0px); }
50% { transform: translateX(50px); }
}
@keyframes skew {
0%, 100% { transform: skewX(0deg); }
50% { transform: skewX(15deg); }
}
@keyframes opacity {
0%, 100% { opacity: 1; }
50% { opacity: .25; }
}
.taco {
animation: skew 2000ms linear infinite,
opacity 4000ms linear infinite;
}
在上面他们都触发
.burger {
animation: skew 2000ms linear infinite,
move 4000ms linear infinite;
}
在上面只有最后一个触发器(通过级联) - 为什么?
任何人都可以在不使用的情况下解决此问题js
?或者这是行不通的事情?这个例子非常简单,我知道我可以将动画合并为一个,而不必同时声明两者,但这是对我正在处理的更复杂动画的测试。
谢谢