純粋な CSS を使用して脈動するローダー効果のソースコードを作成する

純粋な CSS を使用して脈動するローダー効果のソースコードを作成する

効果プレビュー

右側の「クリックしてプレビュー」ボタンを押すと現在のページでプレビューが表示され、リンクをクリックすると全画面でプレビューされます。

https://codepen.io/comehop​​e/pen/wYvGwr

インタラクティブビデオ

このビデオはインタラクティブなので、いつでもビデオを一時停止して、ビデオ内のコードを編集できます。

Chrome、Safari、Edgeで開いて視聴してください。

https://scrimba.com/p/pEgDAM/cnMgQTr

ソースコードのダウンロード

Daily Front-end Practice Series の完全なソース コードを GitHub からダウンロードしてください。

https://github.com/comehop​​e/front-end-daily-challenges

コード解釈

DOM を定義すると、コンテナーには 10 個の子要素が含まれます。

<div class="loader">
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
</div>

センターディスプレイ:

体 {
    マージン: 0;
    高さ:100vh;
    ディスプレイ: フレックス;
    アイテムの位置を中央揃えにします。
    コンテンツの中央揃え: 中央;
    背景: 線形グラデーション(#eee 70%、ピンク);
}

コンテナ スタイルを、ピンクの背景と線の付いた円に設定します。

.ローダー{
    幅: 6em;
    高さ: 6em;
    パディング: 3em;
    フォントサイズ: 10px;
    背景色: ピンク;
    境界線の半径: 50%;
    境界線: 0.8em のホットピンク単色;
}

子要素のレイアウトを水平タイルに設定します。

.ローダー{
    ディスプレイ: フレックス;
    アイテムの位置を中央揃えにします。
    コンテンツの両端揃え: スペースの間;
}

子要素のスタイルを設定するには:

.loader > スパン {
    幅: 0.5em;
    高さ: 50%;
    背景色: ディープピンク;
}

子要素にアニメーション効果を追加します。

.loader > スパン {
    変換: スケールY(0.05) 移動X(-0.5em);
    アニメーション: span-animate 1.5 秒 無限イーズインアウト;
}
@keyframes span-animate {
    0%、100% {
        変換: スケールY(0.05) 移動X(-0.5em);
    }
    15% {
        変換: スケールY(1.2) 移動X(1em);
    }
    90%、100% {
        背景色: ホットピンク;
    }
}

サブ要素のインデックスを設定して、サブ要素がアニメーションを順番に再生できるようにします。

.loader > スパン {
    アニメーション遅延: calc(var(--n) * 0.05s);
}
.loader > span:nth-child(1) { --n: 1; }
.loader > span:nth-child(2) { --n: 2; }
.loader > span:nth-child(3) { --n: 3; }
.loader > span:nth-child(4) { --n: 4; }
.loader > span:nth-child(5) { --n: 5; }
.loader > span:nth-child(6) { --n: 6; }
.loader > span:nth-child(7) { --n: 7; }
.loader > span:nth-child(8) { --n: 8; }
.loader > span:nth-child(9) { --n: 9; }
.loader > span:nth-child(10) { --n: 10; }

コンテナアニメーションを追加して脈動効果を強化します。

.ローダー{
    アニメーション: loader-animate 1.5s 無限の easy-in-out;
}
@keyframes ローダーアニメーション {
    45%、55% {
        変換: スケール(1.05);
    }
}

要約する

上記は、エディターが紹介した純粋な CSS を使用して脈動するローダー効果を作成するソースコードです。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。エディターがすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

<<:  nginx を介してローカルでリバースプロキシを構成するプロセス全体

>>:  Oracle の MySQL バージョンでユーザー Scott のテーブル ステートメントを作成する例

推薦する

MySQL設定ファイルを変更できない問題の解決方法(Win10)

他の人のために解決した問題を記録します。問題の説明MySQLのバージョンは5.7、オペレーティングシ...

dockerログマウントの問題を解決する

重要なのは、ローカルサーバーに書き込み権限がないことですキーはここにあります(アクセス拒否)。私は肯...

FirefoxでCookieとお気に入りをインポートおよびエクスポートする方法

Firefox は、多くの拡張機能とプラグインを備えた、よく使用されるブラウザです。IE に比べて多...

ウェブサイトに最も必要なのは、ターゲットユーザーグループのエクスペリエンスを向上させることです。

「大河は東に流れ、波は歴代の英雄たちを洗い流した。古城の西側は三国時代の周朗の赤壁だと言われている...

nginx プロキシ サーバーで双方向証明書検証を構成する方法

証明書チェーンを生成するスクリプトを使用して、ルート証明書、中間証明書、および 3 つのクライアント...

VMware 仮想マシンでの CentOS7 ネットワーク構成 (ホストのワイヤレス インターネット アクセス)

CentOS7 システムを使用するのは今回が初めてで、ネットワーク構成を行う際に多くの問題が発生し...

Vueルーティングコンポーネントでパラメータを渡す8つの方法の詳細な説明

シングルページアプリケーションを開発する場合、特定のルートを入力し、パラメータに基づいてサーバーから...

XHTML: フレーム構造タグ

フレーム構造タグ <frameset></frameset>フレームを使用す...

HTMLは無効なテーブル幅設定の問題を解決します

テーブルに table-layer:fixed スタイルを設定し、テーブル内の行が結合されていること...

ネガティブマージン関数の紹介と使用方法の概要

1998 年の CSS2 勧告の時点で、テーブルは徐々に舞台から消え、歴史の中に記録されるようになり...

MySQL 8.0.21 のインストールと設定方法のグラフィックチュートリアル

MySQL 8.0.21のインストールと設定方法を記録してみんなで共有します。 1. ダウンロード1...

シェルスクリプトによるDockerコンテナの起動順序の制御の詳細な説明

1. 遭遇した問題分散プロジェクトの展開プロセスでは、サーバーの再起動後にアプリケーション(データベ...

動的および静的分離を実現する nginx のサンプルコード

1. nginxの動的と静的の分離の簡単な設定web1は静的サーバー、web2は動的サーバー、nod...

MySQL5.6.17データベースをインストールするときにMy.iniファイルを構成する方法

最近、プロジェクトの開発時に MySql データベースを使用しました。MySql に関する記事をいく...

2級コンピュータ試験のMySQL知識ポイント mysql alterコマンド

テーブル構造を編集するための MySQL の alter コマンドの使用。具体的な内容は以下のとおり...