私が理解している限り、CSS トランジションを使用して実装できるものはありませんが、CSS アニメーションを使用して実装することはできませんが、その逆はできません。
つまり、トランジションには CSS アニメーションと同等のものがあります。たとえば、これ
.ablock:hover {
position: relative;
-moz-transition-property: background-color, color;
-moz-transition-duration: 1s;
-webkit-transition-property: background-color, color;
-webkit-transition-duration: 1s;
color: red;
background-color:pink;
}
以下と同等です。
.ablock:hover {
-moz-animation-duration:1s;
-moz-animation-name:transition;
-webkit-animation-duration:1s;
-webkit-animation-name:transition;
}
@-moz-keyframes transition {
to {
color: red;
background-color: pink;
}
}
@-webkit-keyframes transition {
to {
color: red;
background-color: pink;
}
}
私の質問は、CSS トランジションとアニメーションの両方をサポートするブラウザーについて話している場合、どちらかのアプローチを選択するためのユースケースは何ですか? トランジションに関しては、1 つだけ挙げることができます。それらはより簡潔な構文を持ち、@-moz-keyframes、@-webkit-keyframes などの大量のコードをコピー ペーストする必要はありません。
JavaScript からの制御に関しては、柔軟性と複雑さのアニメーションがはるかに適切なツールです (少なくとも、一見しただけでは)。では、ユースケースとは何ですか?
UPD: OK、質問で見つかった興味深い情報をリストしてみましょう。
- これは Roman Komarov によって寄稿されました。たとえば、div と子 div があるとします。親 div がホバーされている間、子要素を遷移させています。マウスを離すと、遷移はキャンセルされます。このキャンセルの期間は、移行に既に費やした時間とまったく同じです。アニメーションは「すぐに」キャンセルされます。それでも、これら2つの動作がどれほど標準的かはわかりません。