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

推薦する

動的なテーブル効果を実現するJavaScript

この記事では、動的なテーブル効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

MySQL 5.7.18 でパスワードを変更する方法

MySQL 5.7.18 でパスワードを変更する方法: 1. まずMySQLサーバーをシャットダウン...

Vue フィルターの使用とタイムスタンプ変換の問題

目次1. 概念をすぐに認識する: 2. ローカルフィルター: 3. グローバルフィルター: 4. 拡...

テーブル関連の配置とJavascript操作テーブル、tr、td

適切に機能するテーブル プロパティ設定:コードをコピーコードは次のとおりです。 <テーブル セ...

HTMLページのネイティブVIDEOタグはダウンロードボタン機能を隠します

Web プロジェクトを作成しているときに、紹介ビデオが別にある紹介ページに遭遇しました。この短いビデ...

Linux で測位バックグラウンド サービスが時々クラッシュする問題の解決方法

問題の説明最近のバックグラウンドサービスでは、特定の命令の要求データをディスクに保存する新しい機能が...

MySQL の nvl() 関数に似た ifnull() 関数についての簡単な説明

IFNULL(式1,式2) expr1 が NULL でない場合、IFNULL() は expr1 ...

Linux で圧縮ファイルの内容を表示する 10 の方法 (要約)

一般的に、アーカイブされたファイルや圧縮されたファイルの内容を表示するには、まず解凍してから表示する...

JavaScript の setTimeout() の使用法の概要

目次1. はじめに2. setIntervalとsetTimeoutの違い3.タイムアウトを設定する...

CSS3 を使用した背景ぼかし効果の 3 つの例

導入から始めず、いきなり本題に入りましょう。通常の背景ぼかし効果は次のとおりです。 プロパティを使用...

HTML 要素 noscript の使用の紹介

noscript の定義と使用法noscript 要素は、スクリプトが実行されない場合の代替コンテン...

ウェブページの内部アンカーポイントを実現するための純粋なCSSの上下オフセットコード例

最近、「フットボール ナビゲーション」Web サイトに取り組んでいるときに、上部の固定ナビゲーション...

Linux で crond ツールを使用してスケジュールされたタスクを作成する方法

序文Crond は Linux のスケジュール実行ツール (Windows のスケジュールされたタス...

Ubuntu 20.04 LTSの詳細なインストール履歴

この記事では、USB ブート ディスクの作成とシステムのインストールについて説明します。システム構成...

一般的な Linux ディストリビューションのミラーソース構成の概要

最近 Linux を研究していて、いくつかの Linux ディストリビューションを試してみましたが、...