CSS 読み込み効果の実装 パックマン

CSS 読み込み効果の実装 パックマン
えーっと、名前はただの推測です 2333

序文

これは練習用の CSS デモです。何か間違っている点があれば、ご指摘ください。偏見なく受け入れます。わーい

HTMLレイアウト

  <div class="コンテナ">
    <div class="読み込み中">
      <div class="食べる"></div>
      <div class="load"></div>
      <div class="load"></div>
      <div class="load"></div>
    </div>
  </div>

CSS スタイル

使用される主な効果はアニメーションであり、要素の角度位置を継続的に制御して、パックマンに似た読み込みデモを実現します。
    体 {
      マージン: 0;
      パディング: 0;
      背景: #fff;
    }
    。容器 {
      位置: 絶対;
      上位: 50%;
      左: 50%;
      変換: translate(-50%, -50%);
    }
    .読み込み中{
      位置: 相対的;
      幅: 200ピクセル;
      高さ: 50px;
      ディスプレイ: フレックス;
    }
    。食べる {
      位置: 相対的;
      幅: 50px;
      高さ: 50px;
      左: 0;
      色: #ff0000;
      アニメーション: eat-animate 2.4s easy-in-out infinite;
    }
    @keyframes 食べるアニメーション {
      100% {
        左: 150px;
      }
    }
    .eat::before {
      コンテンツ: '';
      位置: 絶対;
      幅: 0;
      高さ: 0;
      幅: 50px;
      高さ: 25px;
      上: 0;
      境界線の半径: 50px 50px 0 0;
      背景: 現在の色;
      変換: 回転(-30度);
      アニメーション: eat-top 2.4s easy-in-out infinite;
    }
    @keyframes 食べるトップ {
      20% {
        変換: 回転(-30度);
      }
      35% {
        変換: 回転(0度);
      }
      45% {
        変換: 回転(-30度);
      }
      60% {
        変換: 回転(0度);
      }
      70% {
        変換: 回転(-30度);
      }
      85% {
        変換: 回転(0度);
      }
      100% {
        変換: 回転(0度);
      }
    }
    .eat::after {
      コンテンツ: '';
      位置: 絶対;
      幅: 0;
      高さ: 0;
      幅: 50px;
      高さ: 25px;
      下部: 0;
      境界線の半径: 0 0 50px 50px;
      背景: 現在の色;
      変換: 回転(30度);
      アニメーション: eat-bottom 2.4s easy-in-out infinite;
    }
    @keyframes 食べるボトム {
      20% {
        変換: 回転(30度);
      }
      35% {
        変換: 回転(0度);
      }
      45% {
        変換: 回転(30度);
      }
      60% {
        変換: 回転(0度);
      }
      70% {
        変換: 回転(30度);
      }
      85% {
        変換: 回転(0度);
      }
      100% {
        変換: 回転(0度);
      }
    }
    。負荷 {
      位置: 相対的;
      幅:30px;
      高さ: 30px;
      マージン: 10px;
      色: #e47272;
      境界線の半径: 50%;
      背景: 現在の色;
    }
    .load:n番目の子(2) {
      アニメーション: load1 2.4s 線形無限;
      変換: スケール(1);
    }
    @キーフレームロード1 {
      35% {
        変換: スケール(0);
      }
      100% {
        変換: スケール(0);
      }
    }
    .load:n番目の子(3) {
      アニメーション: load2 2.4s 線形無限;
      変換: スケール(1);
    }
    @キーフレームロード2 {
      30% {
        変換: スケール(1);
      }
      58%
        変換: スケール(0);
      }
      100% {
        変換: スケール(0);
      }
    }
    .load:n番目の子(4) {
      アニメーション: load3 2.4s 線形無限;
      変換: スケール(1);
    }
    @キーフレームロード3 {
      60% {
        変換: スケール(1);
      }
      80% {
        変換: スケール(0);
      }
      100% {
        変換: スケール(0);
      }
    }

プレビュー

全体像は上記の通りです。分からない場合は直接返信していただいても結構です。

現在 https://github.com/ajycc20/easy-css-layout で更新中です。コメントをお待ちしています。 ! !

あと、星があったほうがいいですね(笑)

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

<<:  Webデザインチュートリアル(8):Webページの階層と空間デザイン

>>:  【Webデザイン】E-WebTemplates の美しい海外の Web ページ テンプレート (FLASH+PSD ソース ファイル+HTML) を共有します

推薦する

Vueユーザーが長時間操作せずにログインページからログアウトするように実装する2つの方法

目次問題の説明フロントエンド制御(方法1)アイデアコードバックエンド制御(方法2)アイデアコード要約...

VMware12 で Ubuntu19.04 デスクトップ版をインストールする (インストール チュートリアル)

1. 実験の説明仮想マシンに、 Ubuntu 19.04オペレーティングシステムを手動でインストー...

Vue 開発者向けの VSCode 拡張機能ベスト 7

適切な VS Code 拡張機能を Visual Studio に追加すると、開発者としての作業がは...

MySQL マルチテーブルクエリの詳細な説明

よく食べて十分に休息を取るというのは簡単なことのように思えますが、実際に実行するのはそれほど簡単では...

MySQL 8.0.15 インストール グラフィック チュートリアルとデータベースの基礎

MySQLソフトウェアのインストールとデータベースの基礎は参考用です。具体的な内容は次のとおりです。...

MySQL 8.0 DDLアトミック機能と実装原則

1. DDLアトミック性の概要8.0 より前は、統一されたデータ ディクショナリ dd はありません...

Linux の Docker コンテナで bash を終了する 2 つの方法

bash を終了する場合は、次の 2 つのオプションがあります。最初のもの: Ctrl + d を押...

MySQL で行を列に変換したり、列を行に変換したりする詳細な例

mysql 行から列へ、列から行へ難しい文章ではないので、詳しく説明はしません。文章を読むときは、一...

Dockerのインストール方法とDockerの4つのネットワークモードの詳細説明

1. Dockerをインストールするyum -y install docker-ioインストールが完...

どのような種類の MYSQL 接続クエリを知っていますか?

序文クエリ情報が複数のテーブルから取得される場合、クエリのためにこれらのテーブルを結合する必要があり...

GNU Parallelの具体的な使用法

それは何ですか? GNU Parallel は、1 台以上のコンピュータでコンピューティング タスク...

要素 el-button ボタンコンポーネントの使用の詳細な説明

1. 背景ボタンは非常によく使われており、Element のボタン機能は非常に包括的です。この記事で...

Nodejs は readline を使用してコンテンツ入力を促すサンプルコード

目次序文1. batがjsを実行する2. ターミナルにバージョン番号を入力してパッケージ化コマンドを...

Lua モジュールを使用して WAF を実装する Nginx の原理の分析

目次1. WAFの背景2. WAFとは3. 動作原理4. WAF機能5. WAFと従来のファイアウォ...

MYSQL(電話番号、IDカード)データ非感応化の実装

1. データ感度低下の説明日常の開発ニーズでは、データの感度低下が頻繁に発生します。たとえば、ID ...