スケーリングを使用してテキストを含むHTML要素のサイズを変更すると、JavaScriptライブラリでアニメーション化されている場合のみ、JavaScriptを使用してアニメーションをスケーリングする際の不安定なテキスト
ジッタは、アニメーションが遅く、テキストが小さい場合に最もよく見えます。私はそれを引き起こす原因やそれを取り除く方法を理解できないようです。
このジッタは、CSSアニメーションや新しいJavaScript WebアニメーションAPIを使用したアニメーションでは発生しません。また、一部のブラウザでは発生していないようです。 (私のiPhoneで)
要素のスケーリングをアニメーション化するさまざまな方法とその表示方法を簡単に比較するために、便宜のためにCodePenを作成しました。それをチェックアウトする前に、これらの点に注意してください。
- すべてのアニメーションは、アニメーションのためのCSSプロパティ
transform: scale(num);
のいくつかのフォームまたは模倣を使用して、彼らはより簡単に比較できるように、同じ緩和と持続時間を持っています。 - ジッタがmacOSにも現れますが、高解像度のために網膜スクリーンを持つMacではほとんど見ることができません。
- 私が得た結果は、Google Chrome 59のWindows 10マシンでのアニメーションの外観を反映していますが、私にとってはMicrosoft Edgeも同じ結果を示しました。
私の質問は次のとおりです。JavaScriptでスケールプロパティをアニメーション化するときに、テキストがジッタを起こしたりぼやけるのを防ぐにはどうすればよいですか? JavaScriptスケールのアニメーションのテキストを、CSSを使用した場合と同じように滑らかに表示するにはどうすればよいですか?
なぜ私はCSSを使用しないのか疑問に思うかもしれません。その答えは、限られたCSSアニメーションがいかに難しいかに悩まされているからです。単純なベジエ曲線(Robert Pennerのバウンスやエラスティック関数など)の機能を超えて高度なイージング関数を使用し、マウスが要素に入り、要素を出るときには、さまざまなイージングをマウスで使用したいと考えています。これは完全に私自身の意見ですが、これまでに私が見つけた痛みのない唯一の方法はJavaScriptライブラリです。イージングに関連する機能に加えて、ほとんどのものは、アニメーション化をもっと楽にする他の多くの機能を提供するようです。あなたが私が必要とするすべての機能を得るためのよりよい方法を知っていれば教えてください!
どのようにハードウェアアクセラレーションを可能にする 'perspective'になったのですか?デフォルトでは、CSSアニメーションはハードウェアアクセラレーションされています。 – Halcyon