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 折りたたみ表示の複数行テキスト コンポーネントの実装コード

折りたたみ表示の複数行テキストコンポーネント複数行のテキスト コンポーネントを折りたたんで表示し、展...

MySQLでconcat関数を使用する方法

以下のように表示されます。 //managefee_managefee テーブルの年と月を照会し、c...

Vue補間式とv-textディレクティブの違い

目次1. プラグイン式を使用する2. プラグイン式でv-cloakを使用してちらつきの問題を解決する...

MySQL 8.0.17 をインストールしてリモート アクセスを構成する方法

1. インストール前の準備データベースのバージョンを確認するコマンド: mysql --versio...

Navicat を MySQL に接続するときに発生する 2059 エラーの解決方法

最近、Djangoを学習しているときにデータベースを使用する必要があったため、MySQLで使用するた...

HTM と HTML の違いは何ですか? HTM と HTML の違いは何ですか?

Web デザインを学習する過程で、html と htm の関係など、遭遇した多くの問題について深く...

ReactとAntdのFormコンポーネントを組み合わせてログイン機能を実装する方法を詳しく説明します

目次1. ReactとAntdを組み合わせてログイン機能を実現2. ReactとAntdを組み合わせ...

vmware workstation12 インストール CentOS プロンプト VMware Player と Device/Credential Guard に互換性がない、理由と解決策

最新バージョンの WIN10 では、Microsoft は仮想化コンテナに基づくセキュリティ メカニ...

CentOS 7 での Nginx ログタイミング分割の実装手順の詳細説明

1. 分割スクリプト (splitNginxLog.sh) を作成します。 * この例では、ログ分割...

Linux での MySQL 8.0 インストール チュートリアル

この記事では、LinuxでMySQL 8.0をインストールする方法を紹介します。具体的な内容は次のと...

CentOs システムで Python と yum をアンインストールするソリューション

事故の背景: 数日前、プロジェクトの必要性により、サーバーに python-mysql モジュールを...

Node.js での組み込みモジュールとカスタムモジュールの実装

1. コモンズCommonjsはNode.jsのカスタムモジュールですCommonjs 仕様は、Ja...

nginx 設定の場所の概要の場所の通常の書き込みと書き換えルールの書き込み

1. 場所の正規表現例を見てみましょう: 場所 = / { # 完全一致 / 、ホスト名の後に文字列...

MySQLで最大接続数を達成する方法

目次データベース接続数が急増した理由は何ですか? 1. はじめに2. 知識ポイント3. 練習するIV...

jQuery プロジェクトで重複送信を防ぐ方法

新しいプロジェクトでは、axios によって重複した送信を防ぐことができますが、古いプロジェクト (...