George Hess は彼のブログで、それに対する実用的な修正を公開し、次のように述べています。
ちらつきは、アニメーションがほんの一瞬だけ最初のキーフレームにリセットされることによって発生します。これは、アニメーション化された CSS クラスのスタイルを現在の場所にとどめ、アニメーションの完了時に最後のキーフレームのスタイルを継承するように設定した場合でも発生します。私が思いついた唯一の解決策は、2 つ以上のキーフレームを使用することです。
たとえば、次のコードがちらつく場合:
@-webkit-keyframes 'slide-in' {
from { -webkit-transform: translateX(100%); }
to { -webkit-transform: translateX(0); }
}
次のように変更すると、問題が解決します
@-webkit-keyframes 'slide-in' {
from { -webkit-transform: translateX(100%); }
99% { -webkit-transform: translateX(0); }
to {} /* equals `100% {}` Leave it empty to fix the flicker */
}
結論:アニメーション期間の最後を空のまま (パラメーターを設定しないでください) to {}
/100% {}
アニメーション パラメーターの最後に設定するか、そうでない場合は期間の横に99% {}
置きます。