3D変換:rotateX、rotateY、translateZ
3D CSS変換関数を使って、3次元空間で要素を回転・移動します。
「3D変換:rotateX、rotateY、translateZ」はCoddyKit上の無料CSS Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCSS Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 CSS Academyコースには全4レッスンが含まれています。
3D 変形の概要
CSS の 3D 変形は、Z 軸を使って 2D の仕組みを 3 つ目の次元に拡張します。親要素に perspective を設定し、入れ子になった 3D 要素には transform-style: preserve-3d を設定して 3D を有効にします。
rotateX()
rotateX(angle) は、水平な X 軸を中心に要素を回転させます。ページを手前や奥にめくるような動きです。
<div class="page"><div class="leaf">Leaf</div></div>rotateY()
rotateY(angle) は、垂直な Y 軸を中心に要素を回転させます。ドアを蝶番で回転させるような動きです。
<div class="card-flip demo-active"><div class="card">Card</div></div>rotateZ()
rotateZ(angle) は 2D の rotate() 関数と同じで、画面の平面上で回転させます。
rotate3d()
rotate3d(x, y, z, angle) は、カスタム 3D 軸ベクトルを中心に回転させます。x、y、z の値で軸の方向を定義します。
<div class="element">3D</div>translateZ()
translateZ() は、Z 軸に沿って要素を閲覧者に近づけたり遠ざけたりします。正の値では近づき、負の値では遠ざかります。
<div class="scene-z">
<div class="layer-front">Front</div>
<div class="layer-back">Back</div>
</div>translate3d()
translate3d(x, y, z) は、3 つすべての軸に沿って要素を同時に移動させます。translateZ(0) を使用すると GPU レイヤーへの昇格を強制できます(一般的なパフォーマンスハックです)。
<div class="animated">GPU layer</div>scale3d()
scale3d(x, y, z) は、3 次元で拡大・縮小します。scaleZ() は奥行きを拡大・縮小するため、3D キューブの面などに便利です。
3D キューブの例
6 つの面に 3D 変形を適用してキューブを作成します。
<div class="cube-scene">
<div class="cube">
<div class="cube-face front">Front</div>
<div class="cube-face back">Back</div>
<div class="cube-face left">Left</div>
<div class="cube-face right">Right</div>
<div class="cube-face top">Top</div>
<div class="cube-face bottom">Bottom</div>
</div>
</div>パララックス 3D 効果
子要素に translateZ を使用すると、スクロール可能な 3D シーンに奥行きを作り出せます(CSS パララックス)。
<div class="parallax-scene">
<div class="far-layer">Far layer</div>
<div class="close-layer">Close layer</div>
</div>ハードウェアアクセラレーション
3D 変形は、translateZ(0) のような単純なものでも、要素を専用の GPU レイヤーに移します。これによりアニメーション中の描画を防げますが、GPU メモリを使用します。一律のハックとしてではなく、意図して使用してください。
確認問題
要素を Z 軸に沿って(閲覧者に近づけたり遠ざけたり)移動させる transform 関数はどれですか。
まとめ
3D CSS 変形では、各軸を中心とした回転に rotateX/Y/Z() を、奥行き方向の移動に translateZ() を使用します。親要素に perspective を設定し、transform-style: preserve-3d を指定すると真の 3D を有効にできます。反転効果には backface-visibility: hidden を使用します。3D 変形は GPU レイヤーへの昇格を行うため、スムーズなアニメーションを実現できます。
よくある質問
「3D変換:rotateX、rotateY、translateZ」レッスンは無料ですか?
はい。「3D変換:rotateX、rotateY、translateZ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、CSS Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 CSS Academyコースには全4レッスンが含まれています。
「3D変換:rotateX、rotateY、translateZ」で何を学びますか?
3D CSS変換関数を使って、3次元空間で要素を回転・移動します。 ブラウザで直接実行するハンズオンコードでCSS Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
CSS Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCSS Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「3D変換:rotateX、rotateY、translateZ」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCSS Academyレッスンでコードを書いて実行できますか?
はい。すべてのCSS Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Translate、Rotate、Scale
- SkewとMatrix変換
- 変換の原点とPerspective
- 3D変換:rotateX、rotateY、translateZ