スムーズなトランジションとアニメーションが必要なプロジェクトを行ってきました。私たちは最近、ほぼ 100% の時間を Javascript から CSS アニメーションに移行しました。
translate3d を使用すると、モバイルとデスクトップの両方で非常に滑らかで素敵なアニメーションが提供されることがわかりました。
私の現在のアニメーション スタイルは次のようなものです。
CSS:
.animation-up{
transform: translate3d(0, -100%, 0);
}
.animation-down{
transform: translate3d(0, 100%, 0);
}
.animation-left{
tranform: translate3d(-100%, 0, 0);
}
.animation-right{
tranform: translate3d(-100%, 0, 0);
}
最近、話題になっているさまざまなフレームワークを調べ始めました。特定の GreenSock ( http://greensock.com/tweenmax ) と Famo.us ( http://famo.us ) の 2 つ。どちらも素晴らしいフレームレートと素晴らしいパフォーマンスを示しています。
彼らがマルティックス変換を使用していることに気付きました。
Greensock の例 (マトリックスを使用):
<div class="box green" style="transform: matrix(1, 0, 0, 1, 0, 100);"></div>
Famo.us の例 (3D マトリックスを使用):
<div class="famous-surface" style="transform-origin: 0% 0% 0px; transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 149, 385, 0, 1);"></div>
私の質問は... translate3d とマトリックスの違いは何ですか? translate3D よりもマトリックスを使用すると大幅に改善されますか? さらに良い結果が得られる別の方法はありますか?
私は translate3D に満足していますが、最も滑らかで最高のアニメーションを提供する方法を学びたいと考えており、それが何であるかについてのガイダンスを探しています。