目次
立方体:あなたの基本的なビルディングブロック
シーンの構築:基盤の確立
ボイラープレートとパグを使用した開発を合理化します
CSS変数のパワーを活用します
dat.guiでのデバッグ:リアルタイムの制御と検査
センタリングとポジショニング:精度と組織
美学:洗練と視覚的魅力
深さの幻想:煙と鏡のテクニック
不規則な形状への対処:創造的な問題解決
Z戦闘:重複する要素の競合を解決します
結論:3D CSSの旅に乗り出します
ホームページ ウェブフロントエンド CSSチュートリアル 3DのCSS:箱の代わりにキューブで考えることを学ぶ

3DのCSS:箱の代わりにキューブで考えることを学ぶ

Mar 31, 2025 am 09:43 AM

3DのCSS:箱の代わりにキューブで考えることを学ぶ

CSSへの私の旅は、あなたの典型的なフロントエンド開発者のストーリーではありませんでした。私はJavaプログラマーとしてスタートしました。私の最初のCSSは、Visual Studio内での色の選択に限定されています。

フロントエンドの開発とその後のCSSに対する私の情熱は、後に点火し、CSS3の増加と一致しました。 3Dとアニメーションの魅力は私を魅了し、レイアウトやカラー理論よりもCSSの理解をより深く形作りました。

3D CSS効果の作成にかなりの時間を費やしてきたので、ワークフローを改良しました。この記事では、現在のアプローチを共有し、3D CSSスキルを向上させるためのヒントとコツを提供しています。

立方体:あなたの基本的なビルディングブロック

ほとんどの3D作品では、立方体は主要な要素として機能します。より複雑な形状は達成可能ですが、細部へのより大きな注意を必要とします。特に、曲線は課題を提示しますが、それらに対処するための手法は存在します(後で説明します)。

ここでは基本的な立方体を作成することはカバーされていません。アナチューダーの優れた投稿またはこのスクリーンキャストのガイダンスを参照してください。基本的に、親要素は、その顔を表す6つの子供要素を含む立方体をカプセル化します。重要なことに、 transform-style: preserve-3d;理想的にはグローバルに適用する必要があります。

 * {transform-style:preserve-3d; }
ログイン後にコピー

複雑な3Dモデルの場合、シーン全体を立方体のアセンブリとして視覚化します。 3Dブックを考えてみましょう:4つの立方体 - 各カバーに1つ、背骨に1つ、ページ用に1つは、最後の仕上げを追加します。

シーンの構築:基盤の確立

立方体をレゴのレンガと考えてください。プロセスを簡素化するには、「平面」要素、つまり3Dモデルが残る基礎面を作成することが含まれます。これにより、回転と動きが簡素化されます。

私の好みのアプローチは、x軸とy軸に沿って平面を回転させてから、 rotateX(90deg)で平らにすることから始まります。その後、新しい立方体を追加するには、それらを平面要素内に配置し、 position: absolute

 。飛行機 {
  変換:rotatex(calc(var( -  rotate-x、-24) * 1deg))rotatey(calc(var( -  rotate-y、-24) * 1deg))rotatex(90deg)translate3d(0、0、0);
}
ログイン後にコピー

ボイラープレートとパグを使用した開発を合理化します

多数の立方体を作成する繰り返しの性質は、合理化されたアプローチを必要とします。テンプレートエンジンであるパグを活用して、ミックスインを介して立方体構造を生成します。 (必要に応じて、簡単なパグの紹介を利用できます。)

パグを使用した典型的なシーン構造は、次のようになるかもしれません:

 Mixin Cuboid(className)
  .cuboid(class = classname)
    //立方体の各面の6つのdiv要素...
ログイン後にコピー

私の立方体クラスに対応するCSSは次のとおりです。

 .cuboid {
  // ...(CSS for Cuboid Styling)...
}
ログイン後にコピー

...(立方体の各顔のCSSルール)...

CSS変数のパワーを活用します

CSS変数(カスタムプロパティ)を広範囲に使用すると、効率が大幅に向上します。私の立方体は変数によって駆動されます:

  • --width :飛行機の立方体幅
  • --height :飛行機の立方体の高さ
  • --depth :立方体の深さ
  • --x :x平面上の位置
  • --y :Y飛行機の位置

vminは主に応答性のサイジングに使用されます。平面は平らに敷設されており、直感的な高さ、幅、深さの参照が可能になります。

dat.guiでのデバッグ:リアルタイムの制御と検査

便利なdat.guiライブラリは、リアルタイムのデバッグを容易にします。ランタイム中にCSS変数を変更することができ、回転、位置、および寸法を簡単に調整できます。 dat.guiを使用して平面を回転させると、空間関係の視覚化に役立ちます。

センタリングとポジショニング:精度と組織

各立方体は意図的に中央にあり、平面の半分と半分の下にあります。これにより、アニメーション、特にZ軸回転が簡素化されます。複雑なシーンの場合、サブプレーンは組織を強化し、セクションの独立した操作を可能にします。

美学:洗練と視覚的魅力

構造完了後、フォーカスは美学に移行します。色と色合いにCSS変数を一貫して使用すると、視覚的な調和が強化されます。背景画像と擬似要素は、詳細とテクスチャを追加します。 brightness()などのフィルターは、顔全体にシェーディングを微妙に調整できます。

深さの幻想:煙と鏡のテクニック

時々、「Faux」3D効果は、より少ない要素で説得力のある深さを作成します。戦略的に配置および回転したフラット要素は、3D形状を模倣できます。

不規則な形状への対処:創造的な問題解決

不規則な形状には、ケースバイケースのソリューションが必要です。ポリゴンは曲線を近似できますが、視点のトリックは深さの幻想を生み出すことができます。

Z戦闘:重複する要素の競合を解決します

重複する要素が点滅するZ戦闘は、競合を防ぐために慎重なDOM順序とわずかな位置オフセットによって対処されます。

結論:3D CSSの旅に乗り出します

3D CSSの課題を受け入れ、さまざまなテクニックを実験し、作成を共有します。忍耐と創造性は、このやりがいのある努力の重要な要素であることを忘れないでください。

以上が3DのCSS:箱の代わりにキューブで考えることを学ぶの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

静的フォームプロバイダーの比較 静的フォームプロバイダーの比較 Apr 16, 2025 am 11:20 AM

ここでは、「静的フォームプロバイダー」という用語を埋めてみましょう。あなたはあなたのHTMLを持ってきます

SASSをより速くするための概念の証明 SASSをより速くするための概念の証明 Apr 16, 2025 am 10:38 AM

新しいプロジェクトの開始時に、SASSコンピレーションは瞬く間に起こります。これは、特にbrowsersyncとペアになっている場合は素晴らしい気分です。

毎週のプラットフォームニュース:HTMLロード属性、主なARIA仕様、およびIFRAMEからShadowDOMへの移動 毎週のプラットフォームニュース:HTMLロード属性、主なARIA仕様、およびIFRAMEからShadowDOMへの移動 Apr 17, 2025 am 10:55 AM

今週のプラットフォームニュースのラウンドアップで、Chromeは、Web開発者のロード、アクセシビリティ仕様、およびBBCの動きのための新しい属性を導入します

セクション要素との取引 セクション要素との取引 Apr 12, 2025 am 11:39 AM

2つの記事がまったく同じ日に公開されました。

HTMLダイアログ要素を使用したいくつかの実践 HTMLダイアログ要素を使用したいくつかの実践 Apr 16, 2025 am 11:33 AM

これは私が初めてHTML要素を見ていることです。私はしばらくの間それを知っていましたが、まだスピンしていませんでした。かなりクールです

Google Fontsをタグ付けし、Goofonts.comを作成する方法 Google Fontsをタグ付けし、Goofonts.comを作成する方法 Apr 12, 2025 pm 12:02 PM

Goofontsは、開発者妻とデザイナーの夫によって署名されたサイドプロジェクトであり、どちらもタイポグラフィの大ファンです。 Googleにタグを付けています

マルチサムスライダー:一般的なケース マルチサムスライダー:一般的なケース Apr 12, 2025 am 10:52 AM

この2部構成のシリーズの最初の部分では、2つの親指スライダーを取得する方法を詳しく説明しました。今、私たちは' llが一般的なマルチサンプスのケースを見ていますが、別のものと

「ポッドキャストにサブスクライブ」リンクはどこにすべきですか? 「ポッドキャストにサブスクライブ」リンクはどこにすべきですか? Apr 16, 2025 pm 12:04 PM

しばらくの間、iTunesはポッドキャストの大きな犬だったので、「ポッドキャストにサブスクライブ」をリンクした場合:

See all articles