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標準の学習

推薦する

MySQL の起動時に InnoDB エンジンが無効になる問題の解決方法

問題を見つける今日、仕事中に、ローカル データベースから仮想マシン CentOS 6.6 上のデータ...

CSS3 を使用して入力複数選択ボックスのスタイルをカスタマイズする例

原則: まず入力要素を非表示にし、次に CSS を使用してラベル要素のスタイルを設定します (他の要...

JSコードコンパイラMonacoの使い方

序文私が必要としているのは、構文の強調表示、関数プロンプト、自動行折り返し、およびコードの折りたたみ...

HTMLフォーム要素の詳しい解説(パート1)

HTML フォームは、さまざまな種類のユーザー入力を収集するために使用されます。 HTML フォー...

jQuery で従業員管理登録ページを実装する

この記事では、従業員管理登録ページを実装するためのjQueryの具体的なコードを例として紹介します。...

MySQL 8.0.23のルートパスワードをリセットするための最適なソリューション

この方法は2021年2月7日に編集されました。私が使用しているバージョンは8.0.23です。事件の原...

Linux gzipコマンドの使用

1. コマンドの紹介gzip (GNU zip) コマンドは、ファイルの圧縮と解凍に使用されます。こ...

Alibaba Cloud Server の詳細な展開 (グラフィック チュートリアル)

最近、Web 開発のフロントエンドとバックエンドの技術を学んだので、その後の管理を容易にするためにプ...

Linux におけるシステム入出力管理の詳細な説明

システムの入力と出力の管理1. システムの入力と出力を理解するLinuxシステムでは、1は正しい出力...

<td></td> タグの境界線スタイルがブラウザに表示されない問題の解決方法

質問: 360ブラウザの互換モードなど、一部のブラウザでは、 <td style="...

Vueは2つのルーティング許可制御メソッドを実装しています

目次方法 1: ルーティング メタ情報 (meta)方法 2: ルーティング テーブルを動的に生成す...

Ubuntu での mysql のインストールと使用 (一般版)

Ubuntu のバージョンに関係なく、MySQL データベースのインストールは基本的に同じです。具...

Vue は小数点付きの星評価を実装します

この記事では、小数点付きの星評価を実装するためのVueの具体的なコードを参考までに共有します。具体的...

Docker コンテナで DockerFile を使用して複数の Tomcat サービスをデプロイする手順

1. [admin@JD ~]$ cd opt #ルートディレクトリにoptと入力2. [admin...