CSS3アニメーションがたくさんあるHTML5バナーで作業しています。再利用可能なキーフレームアニメーションを作成するために、私は単一の要素で複数のアニメーションを使用しています。サファリを除いて完璧に動作しています。複数のキーフレームアニメーションがサファリで動作しない
CSS:
.text1 {
-webkit-animation: fadeOutRight 1s 3s forwards;
animation: fadeOutRight 1s 3s forwards;
}
.text2 {
-webkit-animation: fadeInLeft 1s 4s both, fadeOutRight 1s 7s forwards;
animation: fadeInLeft 1s 4s both, fadeOutRight 1s 7s forwards;
}
.text3 {
-webkit-animation: fadeInLeft 1s 8s both;
animation: fadeInLeft 1s 8s both;
}
/* fadeInLeft */
@-webkit-keyframes fadeInLeft {
0% { -webkit-transform: translateX(-100px); opacity: 0; }
100% { -webkit-transform: translateX(0px); opacity: 1; }
}
@keyframes fadeInLeft {
0% { transform: translateX(-100px); opacity: 0; }
100% { transform: translateX(0px); opacity: 1; }
}
/* fadeOutRight */
@-webkit-keyframes fadeOutRight {
0% { -webkit-transform: translateX(0px); opacity: 1; }
100% { -webkit-transform: translateX(100px); opacity: 0; }
}
@keyframes fadeOutRight {
0% { transform: translateX(0px); opacity: 1; }
100% { transform: translateX(100px); opacity: 0; }
}
作業可能ソリューション:
- ラップ別の持つ要素/より多くの要素&は、各要素に単一のアニメーションを追加します。このソリューションは、ラッパー要素のために特別なスタイリングが必要です。
- &に複数のアニメーションをマージすると、
keyframes rule
の複雑さが増し、複雑なアニメーションでは簡単には維持できません。 - 別の受け入れられた答えに従ってstackOverflow post -
You cannot animate same attribute more than once, on a same element, the last one will overwrite other
。 私の場合、サファリの場合は、&最初のアニメーションが実行されていないのは 2番目のものです。複数のアニメーションで同じプロパティをアニメートしないと、サファリ(jsfiddle)でもうまくいきます。 これは私が 複数のアニメーションで同じプロパティをアニメートする必要があるため、私には適していません 。
注:私は、同じ要素に複数のアニメーションを使用していますが、私は同時にアニメーションではないよが
、各アニメーション間の遅延があります。
質問:
それは関係なく、プロパティをアニメーション化するのと同じ要素に複数のCSS3アニメーションを使用することは可能ですか?