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

推薦する

MySQL5.6.31 winx64.zip インストールと設定のチュートリアル

#1. ダウンロード # #2. ローカルに解凍し、必要な構成のmy*.iniを変更します。 #3....

IE6 の iframe の水平スクロール バーの解決策

状況は以下のとおりです: (PS: 赤いボックスは iframe 領域を表し、灰色の四角形は上記の ...

モバイル適応型ウェブページ効果は、小さな表示ページの問題を解決します

仕事上、携帯電話に適応した Web ページ効果を作成する必要があります。ようやく完成しました。まずは...

Centos7.X Linux システムに tomcat8 をインストールするためのグラフィック チュートリアル

1. Tomcatのインストールパスを作成する mkdir /usr/local/tomcat 2....

Docker 経由で Spring Boot アプリケーションを公開およびデプロイするプロセスの分析

目次手動展開1.アイデアを使ってSpring Bootプロジェクトを作成する2. プロジェクトをJa...

初心者がHTMLタグを学ぶ(2)

初心者は、いくつかの HTML タグを理解することで HTML を学習できます。この入門書は、初心者...

uniapp エントリーレベル nvue クライミングピット記録の分析

目次序文こんにちは世界画像 境界線の半径を設定する実ピクセルを設定する外部CSSをインポートttfフ...

ランダムロールコールテーブルを実装するためのネイティブJavaScript

この記事では、JavaScriptのランダムロールコールテーブルの具体的なコードを参考までに紹介しま...

メタを使用してトラフィックキャッシュをキャンセルし、ページにアクセスするたびにページを更新して簡単にデバッグできるようにします。

コードをコピーコードは次のとおりです。 <!-- ブラウザがローカル キャッシュからページにア...

MySQLユーザー権限管理の詳細な説明

目次序文: 1. ユーザー権利の概要2. 実際の権限管理序文:データベースのユーザー権限管理について...

Dockerfile の一般的なコマンドの概要

構文の構成: 1 注釈情報2 コマンド --- パラメータ [通常は大文字 | 実際には大文字と小文...

Vueライフサイクルの違いの詳細な説明

ライフサイクル分類vue の各コンポーネントは独立しており、各コンポーネントには独自のライフサイクル...

nginxリバースプロキシによるセッション障害の問題の解決策

同僚から助けを求められました。バックエンド システムへのログインは成功したものの、システムには正常に...

MySQLのパラメータについてお話しましょう

序文:以前の記事では、特定のパラメータの機能についてよく紹介してきました。しかし、MySQL パラメ...