CSS3の3D効果を使って立方体を作成する

CSS3の3D効果を使って立方体を作成する

CSS3 の 3D 効果を使用して立方体を作成する方法を学ぶと、3D シーンの回転と変位のプロパティについての理解が深まります。以下のダイナミックな画像は、3D 回転変位とアニメーション効果を組み合わせて作成されています。興味のある学生は、キューブの制作を完了した後、さまざまなアニメーション効果の追加を検討できます。

ここに画像の説明を挿入

本題に入りましょう。ここでは、3D の複数の変換を使用して立方体を作成するプロセスを示します。
事前に理解しておく必要があるのは、立方体の各面の x、y、z 座標軸は、各面の中心点に基づいて作成されるということです。つまり、特定の面に対して 3D 変換を実行するには、その面を座標軸の基準として使用する必要があります。立方体全体を変換する場合は、上の図の紫色の透明な平面である親要素の元の位置を見つける必要があります。

1. 立方体は回転する 6 つの面で構成されているため、まず 6 つの面を構築し、その属性値と 3D プロパティを設定する必要があります。ここでは ul と li の組み合わせを使用して構築していますが、他のブロック要素を使用して構築することもできます。

CSS スタイル.........

*{マージン:0;パディング:0;}
   li{リストスタイル: なし;}
   html、本文{高さ: 100%;}
   body{perspective: auto;}/*3D被写界深度を設定する*/
   .box1{
    幅:200px;
    高さ:200px;
    位置: 絶対;
    left: 0;right: 0;top: 0;bottom: 0;margin: auto;/*ulを画面の中央に配置する*/
    background: rgba(244,4,253,0.3);/*ulに紫色の透明な背景を与える*/
    transform-style:preserve-3d;/*ulのスタイルを3D属性として定義します*/
    アニメーション: ボックス 10 秒 0.3 秒 線形無限;
    }
   li{
    幅: 200ピクセル;
    高さ: 200px;
    position: absolute;left: 0;top: 0;/*6つのliを画面の中央で重ね合わせます*/
    フォント:50px/200px "Microsoft YaHei";
    色: 白;
    テキスト配置: 中央;
    } 
   ul{
   transform: rotateY(20deg) rotateX(20deg);/*各サーフェスの変換効果を観察しやすくするために、ul を特定の角度回転させます*/
   }
html.............
<ul class="box1">
    <li>以前</li>
    <li>その後</li>
    <li>左</li>
    <li>正しい</li>
    <li>トップ</li>
    <li>次へ</li>  
</ul> 

ここに画像の説明を挿入

上の図は、6 つの li 間でテキストが重なり合った効果を示しています。これは li の初期位置でもあります。これに基づいて 3D 変換を実行します。

2. 立方体全体の 3D 変換を容易にするために、通常は ul (親要素) の初期位置を変換の開始点とします。 transform: translateZ(-100px) rotateY(180deg);と transform: rotateY (180deg) translateZ(-100px);効果が異なることに注意してください。実際の状況に応じて適切な変換を行う必要があります。

ここに画像の説明を挿入

上記の CSS コードの下に次のコードを追加します。

           li:n番目の子(1){
    背景: #ff0;
    変換: translateZ(100px);
   }
   li:n番目の子(2){
    背景: #330;
    変換: translateZ(-100px) rotateY(180deg);
   }
   li:n番目の子(3){
    背景: #f00;
    変換: translateX(-100px) rotateY(-90deg);
   }
   li:n番目の子(4){
    背景: #0f0;
    変換: translateX(100px)rotateY(90deg);
   }
   li:n番目の子(5){
    背景: #0ff;
    変換: translateY(-100px) rotateX(90deg);
   }
   li:n番目の子(6){
    背景: #00f;
    変換: translateY(100px) rotateX(-90deg);
   }

上記のコードでは、まず変位させてから回転させる方法が使われています。li: li:nth-child(3)

上記は、CSS3 を使用してキューブ効果を作成する 1 つの方法です。コードにホバー、アニメーション、トランジションなどの効果を追加して、コードをより面白くすることもできます。 3D の複数の変換の使用方法を理解していれば、さまざまな方法を使用してキューブ効果を実現できます。

要約する

CSS3 3D 効果で立方体を作成する方法についての記事はこれで終わりです。CSS3 3D 立方体に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  goaccess を使用して nginx ログを分析する詳細な方法

>>:  ボタンをEnterキーに関連付けるjsコード

推薦する

js 学習ノート: class、super、extends キーワード

目次序文1. es6の前にオブジェクトを作成する2. es6 後のクラス宣言3. クラスの継承4. ...

MySQLはデータテーブル内の既存のテーブルを分割します

目次操作方法操作プロセス既存のテーブルにパーティション テーブルを作成し、データを新しいテーブルに移...

IDEA で Docker プロジェクトをデプロイする手順

現在、ほとんどのプロジェクトが Docker 上にデプロイされ始めていますが、デプロイのプロセスはま...

js 正確な計算

var numA = 0.1; var numB = 0.2; アラート(numA + numB)...

Nacos で MySQL8 を設定する方法

1. MySQLデータベースnacos_configを作成する2. データベース nacos_con...

CSS3は、Transformを使用して動く2D時計を作成します。

これでtransformコースは終了です。例を見てみましょう。transform transform...

CSS でハートを描く 3 つの方法

以下では、CSS を使用してハートの形を描く 3 つの方法を紹介します。実装プロセスは非常にシンプル...

Javascript での JSBridge に関する予備的研究

目次JSBridgeの起源JSBridgeの双方向通信原理JSはネイティブを呼び出すネイティブコール...

Mysql のデッドロックの表示とデッドロックの除去の詳細な説明

序文しばらく前にMysqlのデッドロック問題に遭遇したので、解決しました。問題の説明: Mysql ...

JavaScriptクロージャの原理と機能の詳細な説明

目次導入クロージャの使用カレー作りパブリック変数の実装キャッシュカプセル化(属性のプライベート化)閉...

JavaScript でタブバーの切り替え効果を実装する

フロントエンド開発者が必ず知っておくべきケースとして、タブバーの切り替え効果があります。タブバー自体...

Nodejs でモジュール fs ファイルシステムを使用する方法

目次概要ファイル記述子同期、非同期、Promise同期書き込み非同期書き込み(推奨)約束​​の書き方...

MySQL トランザクションの詳細

目次導入取引の4つの特徴トランザクション分離レベル確認するMVCC現在の読書スナップショット読み取り...

Vueは大画面ページのスクリーン適応を実現します

この記事では、大画面ページのスクリーンアダプテーションを実現するためのVueの具体的なコードを参考ま...

JS で Websocket ベースのマルチターミナル ブリッジング プラットフォームを実装する方法

目次1. デバッグ対象2. WebSocketの機能3. ソケット接続を確立する3.1 部屋の作成方...