0Pricing
Sveltejs Academy · レッスン

モーフィングトランジションを作成する

要素をある形状または位置から別の形状または位置へ変形させるトランジションを構築します。

「モーフィングトランジションを作成する」はCoddyKit上の無料Sveltejs Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSveltejs Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Sveltejs Academyコースには全4レッスンが含まれています。

モーフィングの概念

モーフィングトランジションは、要素をある形状や位置から別の形状や位置へ滑らかに変化させます。

初期状態を読み取る

getBoundingClientRectを使って、要素の開始時のレイアウトを計測します。

差分を計算する

開始位置と目標位置を比較し、transformの値を導き出します。

Transformを適用する

初期状態から最終状態へ補間するcss関数を返します。

css: (t) => `transform: scale(${1 - (1 - t)}); opacity: ${t};`

FLIPに似たパターン

これはanimate:flipが使用するFLIP手法に似ています。

共有要素のトランジション

ルートをまたぐ共有要素には、svelte-shared-transitionsのようなライブラリが役立ちます。

バウンディングボックス

位置間のモーフィングに必要なスケールと移動量を計算します。

ブラウザーAPI

View Transitions APIを使うと、ネイティブの共有要素トランジションを利用できます。Svelteも適切に連携できます。

パフォーマンス

transformとopacityを使用し、形状を決めるプロパティのアニメーションは避けてください。

イージングを組み合わせる

自然な動きにするにはイージング関数を使います。モーフィングにはcubic-bezierが適しています。

実用例

クリックしたボタンからモーダルを開く、リスト項目を詳細表示へ展開する、ルート間をトランジションさせる、といった用途があります。

簡単な確認

モーフィングにはどのプロパティが適していますか。

まとめ

モーフィングトランジションでは、開始位置と終了位置を計測し、transformベースのcss文字列を使って補間します。

よくある質問

「モーフィングトランジションを作成する」レッスンは無料ですか?

はい。「モーフィングトランジションを作成する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Sveltejs Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Sveltejs Academyコースには全4レッスンが含まれています。

「モーフィングトランジションを作成する」で何を学びますか?

要素をある形状または位置から別の形状または位置へ変形させるトランジションを構築します。 ブラウザで直接実行するハンズオンコードでSveltejs Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Sveltejs Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのSveltejs Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「モーフィングトランジションを作成する」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このSveltejs Academyレッスンでコードを書いて実行できますか?

はい。すべてのSveltejs Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. カスタムトランジション関数を作成する
  2. トランジションのパラメーター:node、duration、delay
  3. モーフィングトランジションを作成する
  4. CSSトランジションとJavaScriptトランジション
← Sveltejs Academyに戻る