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) を共有します

推薦する

ウェブサイトのデザインでは色の階層感覚に注意を払う必要があります

最近、私はデザインには階層感覚が必要だと言っています。この階層感覚には、色の重ね合わせや要素の重ね合...

MySQL 5.7 mysql コマンドラインクライアントの使用コマンドの詳細

MySQL 5.7コマンドを使用するMySQLコマンドラインクライアント1. パスワードを入力してく...

MySQL の分離レベル、ロック、MVCC の紹介

この記事の目的は、これらの概念とその機能の関係を明らかにすることです。 Mysql がトランザクショ...

JavaScript の for/of、for/in の詳細な紹介

目次JavaScriptでは、 forループを記述する一般的な方法がいくつかあります。最初の、そして...

Javascript Echarts 空気質マップ効果の詳細な説明

まず、空気質データと地図データを組み合わせる必要があります。マップデータには属性名があるさまざまな都...

Bootstrap3.0 学習ノートテーブル関連

この記事では、Webサイトを作ったことがある人にとっては馴染みのあるテーブルについて主に説明します。...

MySQL における「:=」と「=」の違いの簡単な分析

=設定および更新の場合にのみ、:= と同じ効果、つまり代入効果があり、それ以外の場合は等号の効果があ...

CentOS 7 で grub パスワードと単一ユーザー ログインを設定するサンプル コード

Centos7 と Centos6 では、GRUB パスワードの設定手順に大きな違いがあります。これ...

WeChatアプレットのオーディオコンポーネントがiOSで再生できない問題の解決策

解決策:クリック イベントをオーディオ コンポーネントにバインドし、再生メソッドと一時停止メソッドを...

デザイン理論: なぜ私たちは間違った場所を見ているのでしょうか?

数日前、バスで仕事に行きました。バスのカードリーダーの実際の使用シーンを実際に見て、カードリーダーの...

NodeJSのモジュール性に関する詳細な説明

目次1. はじめに2. 本文2.1 モジュールとは何ですか? 2.2 解決2.3、require.r...

Centos7 に yum を使用して MySQL をインストールし、リモート接続を実現する方法

Centos7はyumを使用してMySQLをインストールし、リモート接続を実現する方法です。MySQ...

HTML フォームタグチュートリアル (5): テキストフィールドタグ

<br />このタグは、さらにテキストを入力できる複数行のテキスト フィールドを作成する...

インタラクティブな視覚化 JS ライブラリ gojs の使い方の紹介とヒント

目次1. gojsの紹介2. Gojsのアプリケーションシナリオ3. gojs を選ぶ理由: 4. ...

Swiper+echartsは複数のダッシュボードの左右スクロール効果を実現します

この記事では、ダッシュボードの左右スクロール効果を実現するためのスワイパー+echartsの具体的な...