CSS3 は 3D キューブの読み込み効果を作成します

CSS3 は 3D キューブの読み込み効果を作成します

簡単な説明

これは CSS3 のクールな 3D キューブのプリロード効果です。この特殊効果は、シンプルな HTML 要素と CSS3 コードを使用して、複数の立方体が連続的に移動するアニメーション効果を構築します。これは、ページの読み込み効果に適しています。

コード分​​析

次のファイルを HTML ファイルにインポートします。

<link rel="スタイルシート" type="text/css" href="css/bootstrap-grid.min.css" />

HTML構造

<div class="demo" style="min-height:350px;">
<div class="コンテナ">
<div class="row">
<div class="col-md-12">
<div class="loader">
<div class="box">
    <div></div>
    <div></div>
    <div></div>
    <div></div>
</div>
<div class="box">
    <div></div>
    <div></div>
    <div></div>
    <div></div>
</div>
<div class="box">
    <div></div>
    <div></div>
    <div></div>
    <div></div>
</div>
<div class="box">
    <div></div>
    <div></div>
    <div></div>
    <div></div>
</div>
</div>
</div>
</div>
</div>
</div>

CSS スタイル

。ローダ{
                    --サイズ: 32px;
                    --期間: 800 ミリ秒;
                    幅: 96px;
                    高さ: 64px;
                    マージン: 50px 自動;
                    変換スタイル: 3D を保持します。
                    変換の原点: 50% 50%;
                    変換: rotateX(60度) rotateZ(45度) rotateY(0度) translateZ(0px);
                    位置: 相対的;
                }
                .loader .box{
                    幅: 32px;
                    高さ: 32px;
                    変換スタイル: 3D を保持します。
                    位置: 絶対;
                    上: 0;
                    左: 0;
                }
                .loader .box:n番目の子(1){
                    変換: translate(100%, 0);
                    アニメーション: box1 800ms 線形無限;
                }
                .loader .box:n番目の子(2){
                    変換: translate(0, 100%);
                    アニメーション: box2 800ms 線形無限;
                }
                .loader .box:n番目の子(3){
                    変換: translate(100%, 100%);
                    アニメーション: box3 800ms 線形無限;
                }
                .loader .box:n番目の子(4){
                    変換: translate(200%, 0);
                    アニメーション: box4 800ms 線形無限;
                }
                .loader .box > div{
                    --translateZ: calc(var(--size) / 2);
                    --rotateY: 0度;
                    --rotateX: 0度;
                    背景: #5c8df6;
                    幅: 100%;
                    高さ: 100%;
                    変換: rotateY(var(--rotateY)) rotateX(var(--rotateX)) translateZ(var(--translateZ));
                    位置: 絶対;
                    上:自動;
                    右: 自動;
                    下部: 自動;
                    左: 自動;
                }
                .loader .box > div:nth-child(1){
                    上: 0;
                    左: 0;
                }
                .loader .box > div:nth-child(2){
                    背景: #145af2;
                    右: 0;
                    --rotateY: 90度;
                }
                .loader .box > div:nth-child(3){
                    背景: #447cf5;
                    --rotateX: -90度;
                }
                .loader .box > div:nth-child(4){
                    背景: #dbe3f4;
                    上: 0;
                    左: 0;
                    --translateZ: calc(var(--size) * 3 * -1);
                }
                @keyframes ボックス1{
                    0%、50%{ 変換: translate(100%、0); }
                    100%{ 変換: 翻訳(200%, 0); }
                }
                @keyframes ボックス2{
                    0%{ 変換: translate(0, 100%); }
                    50%{ 変換: translate(0, 0); }
                    100%{ 変換: translate(100%, 0); }
                }
                @keyframes ボックス3{
                    0%、50%{ 変換: translate(100%、100%); }
                    100%{ 変換: translate(0, 100%); }
                }
                @keyframes ボックス4{
                    0%{ 変換: translate(200%, 0); }
                    50%{ 変換: 翻訳(200%, 100%); }
                    100%{ 変換: 翻訳(100%, 100%); }
                }

上記は、CSS3 を使用して 3D キューブの読み込み効果を作成する方法の詳細です。CSS3 の読み込み効果の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

<<:  マウスが画像のハイパーリンク上を通過するときに画像のサイズ(幅、高さ)を変更する CSS

>>:  Linux環境でrmによって誤って削除されたファイルを回復する方法

推薦する

Vue の nextTick について話す

データが変更されても、DOM ビューはすぐには更新されません。変更直後にノードまたはその値を取得しよ...

ログインボックスのメールプロンプトを実装するネイティブJS

この記事では、登録またはログイン時に電子メール アドレスを入力する際のドロップダウン プロンプトのネ...

HiveメタデータをMySQLに設定するプロセス全体

Hiveのインストールディレクトリで、confディレクトリに入り、hive-site.xmlファイル...

Dockerコンテナアプリケーションログの表示方法

docker アタッチコマンドdocker attach [options] 容器実行中のコンテナに...

Element UI を使用してページにページング ナビゲーション バーを追加する方法

必要ページング バーを追加します。これにより、ページにジャンプしたり、ページ番号に従って特定のページ...

Windows 10 で MySQL の解凍バージョンをインストールする方法の詳細なグラフィック チュートリアル

MySQL のインストールは、インストール バージョンと解凍バージョンに分かれています。インストール...

MySQL データの集約とグループ化

多くの場合、データを実際に取得せずに要約する必要があり、 MySQLこの目的のために特別な関数を提供...

Html+CSS フローティング広告ストリップの実装

1.html部分コードをコピーコードは次のとおりです。 <!DOCTYPE html> ...

IDEA が docker を統合して springboot プロジェクトを展開するプロセス全体

目次1. IDEAはdockerプラグインをダウンロードします2. クラウドサーバーDocker 2...

ハイパーリンクの幅と高さを直接設定できない問題の解決策

幅と高さを直接使用することはできません。 display:block; または display:in...

Linuxの相対パスと絶対パスの使用

01. 概要絶対パスと相対パスはシェル環境でよく使用され、それぞれに独自の用途があります。相対パスの...

適応幅(パーセンテージ)に応じて Div の高さを調整する純粋な CSS

今日のレスポンシブ レイアウトの要件では、サイズを自動的に調整できる多くの要素で高さと幅の適応を実現...

MySQL DISTINCTの基本実装原理の詳細な説明

序文DISTINCT は、GROUP BY 操作の実装と非常によく似ていますが、GROUP BY の...

Mysql5.7 以降での ONLY_FULL_GROUP_BY エラーの解決方法

最近、開発プロセス中に、プロジェクト開発環境に接続されている MySQL データベースは Aliba...

JavaScriptの原理と方向性

これが何を指しているのかをどのように判断するのでしょうか? ①グローバル環境で呼び出された場合はwi...