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コード

推薦する

ユニークインデックスの S ロックと X ロックによる MySQL デッドロック ルーチンの理解

「初心者向けソースコードからの MySQL デッドロック問題の理解」では、MySQL ソースコードを...

Nuxt.jsプロジェクトのDockerデプロイメントの実装

Docker 公式ドキュメント: https://docs.docker.com/ Docker は...

CSS3を使用してボタンホバーフラッシュダイナミック特殊効果コードを実装する

CSS3 の列シリーズ属性を使用してウォーターフォールレイアウトを作成する方法を紹介しました。興味の...

nginx設定ファイルの場所を見つける方法の詳細な説明

よく知らないサーバーの場合や、かなり前にインストールした場所を忘れてしまった場合、構成ファイルの場所...

MySQL テーブルの断片化を解消し、スペースを再利用する方法

目次MySQL テーブルの断片化の原因行の断片化行内断片化空き領域の断片化MySQL で極度に断片化...

MySqlエスケープの詳細な使用例

MySQL エスケープエスケープとは、エスケープ文字の本来の意味を意味します。エスケープ文字の目的は...

get メソッドによる HTML フォームの値転送の例

google.htmlインターフェースは図の通りですコードは図のとおりです: (比較的シンプルで、入...

MySQL 5.7.17 zip インストールおよび設定チュートリアル MySQL 起動失敗の解決策

MySQL 5.7.17、現在最新バージョンのようです、ダウンロードアドレスここで、プラットフォーム...

TypeScript 列挙の基本と例

目次序文TypeScript の列挙型とは何ですか? TypeScriptで列挙型を使用する際に注意...

Vue 学習 - VueRouter ルーティングの基礎

目次1. Vueルーター1. 説明2. 選択したルートのレンダリング: 3. 基本的な動作原理2. ...

Linuxはiptablesを使用して複数のIPからのサーバーへのアクセスを制限します

序文Linux カーネルでは、netfilter は、パケット フィルタリング、ネットワーク アドレ...

Docker と Intellij IDEA の融合により、Java 開発の生産性が 10 倍向上

目次1. 開発前の準備2. 新しいプロジェクトIdea は Java 開発のための強力なツールであり...

qt.qpa.plugin の問題を解決: Ubuntu 18.04 の Qt で Qt プラットフォーム プラグイン「xcb」をロードできませんでした

問題の説明Qt5.15.0 をインストールした後、テスト ケースを実行するとエラーが表示されます。 ...

WeChatアプレットのスクロールビューの改行問題を解決する

今日、小さなプログラムを書いていたときに、スクロールビューを使用したのですが、スクロールビュー内のテ...

純粋な CSS でマークダウンの自動番号付けを実装するサンプル コード

問題の起源私がタイトルの番号付けの問題に初めて注目したのは、学部の論文を書いていた頃まで遡ります。当...