CSS3 3Dクールキューブ変形アニメーションの実装

CSS3 3Dクールキューブ変形アニメーションの実装

私はコーディングが大好きです。コーディングすると幸せになります!

みなさんこんにちは、Counterです。この章では、Weiboは主にCSS3のいくつかの新機能を使用します。

キーフレームは主に 3D グラフィックスを動かすために使用され、抽象的なアイデアと 3 次元の想像力を必要とします。

まずは完成したエフェクトをお見せしましょう。コードは難しくなく、各行に詳細なコメントが付けられています。JS のない純粋な CSS です。CSS3 は良いですね。

効果は以下のとおりです。

各行にコメントがあるので、繰り返しません。コードは次のとおりです。

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <meta http-equiv="X-UA-compatible" content="ie=edge">
    <title>3D 回転</title>
    <スタイル>
        /* 最も外側の親の被写界深度を設定して、内部の要素に 3 次元空間を与え、幅と高さを設定します */
        .ラッパー{
            /* 被写界深度 600 ピクセル */
            パースペクティブ: 500px;
            /* マージン距離を上部で 100px、左右で適応型、下部で 0 に設定します */
            マージン: 100px 自動 0;
            幅: 200ピクセル;
            高さ: 200px;
            /* 境界線: 1px 黒一色; */
        }
        
        。箱 {
            /* 子要素が自分自身に対して相対的に配置されるように相対的な配置を設定します*/
            位置: 相対的;
            /* 3D 効果を保持する項目を設定します。要素が設定されていない場合、3D 効果は表示されません */
            変換スタイル: 3D を保持します。
            幅: 200ピクセル;
            高さ: 200px;
            /* 移動はキーフレームセット、8秒間の移動、等速移動、無限回(各パラメータの意味) */
            アニメーション: 8 秒間の線形無限移動。
        }

        /* item で始まるすべての要素を選択し、それらをすべて親の位置に配置します */
        div[クラス^="item"] {
            位置: 絶対;
            上: 0;
            左: 0;
            幅: 200ピクセル;
            高さ: 200px;
            /* テキストを左右に揃える */
            テキスト配置: 中央;
            /* テキストを垂直に揃える */
            行の高さ: 200px;
        }

        /* 立方体には 6 つの面があり、各項目 1 ~ 6 は各面を表し、内部の項目 1 ~ 6 には x、y、z の 3 つの軸があります */
        /* x 軸は、コンピュータ画面の左から右への幅です。 Y 軸は、コンピューター画面の上から下までの高さの軸です。 Z軸は、コンピュータ画面を垂直に見る目からの軸であり、方向はコンピュータ画面から目への軸です*/
        /* 最初の辺を設定する */
        .item1 {  
            /* 視線の方向に Z 軸に沿って 100 ピクセル移動します */
            変換: translateZ(100px);
            /* 背景色を設定します。最後のパラメータは透明度を 0.6 に設定します */
            背景色: rgba(255, 0, 0, 0.6);
        }
        /* 2番目のサイドを設定します */
        .item2 {
            /* Z軸に沿って100px内側に移動すると-100pxになります */
            変換: translateZ(-100px);
            背景色: rgba(72, 42, 245, 0.6);
        }
        /* 3番目の辺を設定します */
        .item3 {
            /* x軸に沿って90度回転し、z軸に沿って100ピクセル移動します(ここでのdegは度を意味します)*/
            変換: 回転X(90度) 移動Z(100ピクセル);
            背景色: rgba(217, 230, 36, 0.6);
        }
        /* 4番目の辺を設定します */
        .item4 {
            /* x軸に沿って90度回転し、z軸に沿って-100px移動します */
            変換: 回転X(90度) 移動Z(-100px);
            背景色: rgba(58, 7, 51, 0.6);
        }
        /* 5番目の辺を設定します */
        .item5 {
            /* y軸に沿って90度回転し、z軸に沿って-100px移動します */
            変換: 回転Y(90度) 移動Z(-100px);
            背景色: rgba(241, 142, 75, 0.6);
        }
        /* 6 番目の辺を設定します */
        .item6 {
            /* y軸に沿って90度回転し、z軸に沿って100ピクセル移動します */
            変換: 回転Y(90度) 移動Z(100ピクセル);
            背景色: rgba(125, 178, 238, 0.6);
        }

        /* ボックス コンテナーを回転させるキーフレームを設定し、それぞれ x、y、z 軸に沿って 0 から 360 度回転します */
        @keyframes 移動 {
            0% {
                変換: rotateX(0) rotateY(0) rotateZ(0);
            }
            100% {
                変換: 回転X(360度) 回転Y(360度) 回転Z(360度);
            }
        }
    </スタイル>
</head>
<本文>
    <div class="wrapper">
        <div class="box">
            <div class="item1">1</div>
            <div class="item2">2</div>
            <div class="item3">3</div>
            <div class="item4">4</div>
            <div class="item5">5</div>
            <div class="item6">6</div>
        </div>
    </div>
</本文>
</html>

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  すべてのブラウザに対応したデータURIとMHTMLの完全なソリューション

>>:  MySQLインスタンスが起動できない問題の分析と解決

推薦する

Docker CPU 制限の実装

1. --cpu=<値> 1) コンテナが使用できるCPUリソースの量を指定しますが、コ...

Nginxの書き換えモジュールの詳細な説明

書き換えモジュールは ngx_http_rewrite_module モジュールです。その主な機能は...

Vue の一般的な問題と解決策の概要 (推奨)

Vue に限定されず、他の種類の SPA プロジェクトにも当てはまる問題がいくつかあります。 1....

mysql ルートユーザーを認証できず、Navicat リモート認証プロンプト 1044 の問題を解決します

まず解決策を見てみましょう #------------mysql の root ユーザーに権限を付与...

一般的な Linux の問題に対する解決策の概要

1. VMwareでCentos7を接続し、固定IPを設定する1) まず、仮想イメージ名を右クリック...

MySQL のファントムリード問題を解決する方法

目次序文1. ファントムリーディングとは何ですか? 2. ファントムリーディングの問題点は何ですか?...

Docker は Python Flask+ nginx+uwsgi コンテナを構築します

Nginxをインストールするまずcentosイメージをプルしますdocker pull centos...

MySQL データ定義言語 DDL の基本ステートメント

MySQL DDL ステートメントDDL、DMLとは何ですか。 DDL はデータ定義言語であり、CR...

入力のid属性とname属性の違いの例

長い間ウェブサイトを作ってきましたが、入力時のnameとidの違いがまだわかりません。最近jQuer...

MySql 最適化のための my.ini 中国語構成スキームの詳細な説明: InnoDB、4GB メモリ、および複数のクエリ

この記事は、4G メモリ システム用の MySQL 構成ファイル ソリューションです (主に Inn...

純粋な CSS を使用してユーザーが Web ページのコンテンツをコピーするのを防ぐ方法

序文私自身の個人ブログを入力しているときに、ブログの詳細ページでさまざまなコンテンツをコピーするさま...

vue $setは配列コレクションオブジェクトへの値の割り当てを実装します

Vue $set 配列コレクションオブジェクトの割り当てVue カスタム配列オブジェクト コレクショ...

Idea で Docker を使用して SpringBoot プロジェクトをデプロイする詳細な手順

序文プロジェクト要件: Dockeridea に Docker プラグインをインストールし、Dock...

DockerでLNMPアーキテクチャを展開する方法

環境要件: IPホスト名192.168.1.1ノード1プロジェクト計画:コンテナネットワークセグメン...

HTML ページをズームアウトした後にスクロール バーを表示するためのサンプル コード

ここでは、HTML ページのサイズを縮小した後に下部にスクロール バーを表示し、スクロール バーをス...