CSSを使用して円形の波効果を実現する

CSSを使用して円形の波効果を実現する

モバイル デバイスでは、金額を表示するために円形の波グラフィックがよく使用されます。最初は、この効果はキャンバスを使用してのみ作成できると思っていましたが、後で CSS を使用しても作成できることが分かりました。

原則: border-radius:50%設定すると、円になることは誰もが知っています。50% 未満の場合、実際には不規則な円になります。この機能を利用して、疑似クラスと変換アニメーションを使用して波の効果を実現できます。

まずは効果図を見てみましょう。

//CSSコード

.wave {
        位置: 相対的; 
    幅: 200ピクセル;
    高さ: 200px;
    背景: @color;
    境界線: 5px 実線 #76daff;
    境界線の半径: 50%;
    オーバーフロー: 非表示;
}
.wave-box::before、
.wave-box::after {
      コンテンツ: '';
      位置: 絶対;
      上: 0;
      左: 50%;
      幅: 400ピクセル;
      高さ: 400px;
      境界線の半径: 45%;
      -webkit-transform: translate(-50%, -70%);
      変換: translate(-50%, -70%);
      背景: rgba(255, 255, 255, 0.5);
      -webkit-animation: 10 秒間、線形無限回転します。
      アニメーション: 10 秒の線形無限回転;
      zインデックス: 10;
}
@keyframes 回転 {
  50% {
            -webkit-transform: 変換(-50%, -75%) 回転(180度);
            変換: 移動(-50%, -75%) 回転(180度);
  }
  100% {
            -webkit-transform: 変換(-50%, -70%) 回転(180度);
            変換: 移動(-50%, -70%) 回転(180度);
  }
}
//または、プリコンパイルされた言語を使用する方が便利です。ここでは、より少ない
.wave(@width; @height; @color) {
    位置: 相対的; 
    幅: @width;
    高さ: @height;
    背景: @color;
    境界線: 5px 実線 @color;
    境界線の半径: 50%;
    オーバーフロー: 非表示;
    &::前に、
    &::後 {
        コンテンツ: '';
        位置: 絶対;
        上: 0;
        左: 50%;
        幅: @width * 2;
        高さ: @height * 2;
        境界線の半径: 45%;
        変換: translate(-50%, -70%);
        背景: rgba(255,255,255,0.5);
        アニメーション: 10 秒の線形無限回転;
        zインデックス: 10;
    }
    &::後 {
        境界線の半径: 47%;
        背景: rgba(255,255,255,0.5);
        アニメーション: 10 秒回転、線形 -5 秒無限;
        zインデックス: 20;
    }
}
//.wave-boxを呼び出す{
    .wave(200px; 200px; #76daff);
}
<!-- ページ上で呼び出されます -->
<div class="wave-box"></div>

要約する

上記は、CSS を使用して円形の波効果を実現する方法についてご紹介したものです。お役に立てれば幸いです。ご質問がある場合は、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

<<:  MySQLとRedisキャッシュ間の同期ソリューションについての簡単な説明

>>:  構造とプレゼンテーションの分離を理解するためのWeb標準の学習

推薦する

ローカルでビルドした Docker イメージを Dockerhub に公開する方法

今日は、ローカルの Docker プロジェクト イメージを dockerhub に公開する方法を紹介...

MySQL での Truncate の使用法の詳細な説明

序文:テーブルをクリアしたいときは、truncate ステートメントをよく使用します。ほとんどの場合...

VUEはタイムライン再生コンポーネントを実装します

この記事の例では、タイムライン再生コンポーネントを実装するためのVUEの具体的なコードを参考までに共...

Linux ディレクトリ切り替え実装コード例

ファイルの切り替えは Linux でよく行われる操作です。Linux を初めて学ぶときに最初に触れる...

PythonはデータベースMySQLの解凍バージョンのインストール構成に接続し、問題が発生しました

導入今日は Python でデータベースに接続する方法を学んだので、MySQL データベースをインス...

Mysqlのprepare前処理の具体的な使用法

目次1. 前処理2. 前処理塗布方法A. 例: B. 実行計画の変更を追跡するための前処理C. スト...

MySQL トランザクション分離レベルの詳細

serializableシリアル化(問題なし)トランザクションは順次実行する必要があります。前のトラ...

Linux ダイナミックライブラリの生成と使用ガイドの詳細な説明

Linux での動的ライブラリ ファイルのファイル名は libxxx.so のようになります。ここで...

HTML における要素の水平および垂直中央揃えに関する議論

ページをデザインするときには、ログイン ウィンドウを中央に配置するなど、DIV を中央に配置し、ペー...

バッチファイルを処理するLinuxの1行コマンドの詳細な説明

序文最良の方法は、あなたが思いつく最も速い方法ではないかもしれません。職場で一時的に使用するスクリプ...

Nginx ロードバランシング クラスタの実装

(1)実験環境youxi1 192.168.5.101 ロードバランサーyouxi2 192.168...

Dockerがsudo操作を使用する必要がある問題を解決する

手順は以下のとおりです1. dockerグループを作成する: sudo groupadd docke...

Vue3.0プロジェクトの構築と利用プロセス

目次1. プロジェクト構築2: ディレクトリ構造3: コンポジションAPI 4: 基本的な使い方:最...

理論の普及——ユーザーエクスペリエンス

1. 概念分析 1: UE ユーザー エクスペリエンス <br />英語ではユーザー エ...

ドラッグ効果を実現するための純粋なCSSコード

目次1. ドラッグ効果の例2. CSS実装の原則3. CSS実装の詳細4. CSSレイアウト1. 固...