円形グラデーションプログレスバー効果を実現する CSS サンプルコード

円形グラデーションプログレスバー効果を実現する CSS サンプルコード

実装のアイデア

  • 一番外側は大きな円(グラデーションカラー)
  • グラデーションの円を覆うように、内側に半円を 2 つ描きます (わかりやすくするために、左側と右側の色が異なり、グレーブルーに設定されています)
  • 右側の青い半円を時計回りに回転させると、下のグラデーションの円が現れます。例えば、45 度 (45/360 = 12.5%) 回転させ、右側の青い半円をグレーに設定すると、12.5 の円グラフが描画されます。
  • より大きな角度で回転してみてください。180 度回転すると、右側の半円が重なります。さらに回転させると、角度がどんどん小さくなるように見え、ニーズを満たしていません。右側の円を元の位置に戻し、背景色を基本色と同じに設定し、左側の半円を時計回りに回転させます。
  • 最後に、パーセンテージを示すために中央に小さな白い円を追加します。

図に示すように:

パーセント

注目すべき特性:

  • background-image は、要素に 1 つ以上の背景画像を設定するために使用されます。グラデーション カラーは linear-gradient によって実現できます。
  • クリップは、要素のどの部分が表示されるかを定義します。 clip プロパティは、position:absolute の要素にのみ適用されます。

次のコードは33%の円を描きます

<div class="circle-bar">
    <div class="circle-bar-left"></div>
    <div class="circle-bar-right"></div>
    <div class="mask">
        33%
    </div>
</div>
.circle-bar {
    背景画像: 線形グラデーション(#7affaf, #7a88ff);
    幅: 182ピクセル;
    高さ: 182px;
    位置: 相対的;
}
.circle-bar-left {
    背景色: #e9ecef;
    幅: 182ピクセル;
    高さ: 182px;
    クリップ: rect(0, 91px, 自動, 0);
}
.circle-bar-right {
    背景色: #e9ecef;
    幅: 182ピクセル;
    高さ: 182px;
    クリップ: rect(0, auto, auto, 91px);
    変換: 回転(118.8度);
}
。マスク {
    幅: 140ピクセル;
    高さ: 140px;
    背景色: #fff;
    テキスト配置: 中央;
    行の高さ: 0.2em;
    色: rgba(0, 0, 0, 0.5);
    位置: 絶対;
    左: 21px;
    上: 21px;
}
.マスク > スパン {
    表示: ブロック;
    フォントサイズ: 44px;
    行の高さ: 150px;
}
/*すべての子孫は水平方向と垂直方向に中央に配置され、同心円になります*/
.circle-bar * {
    位置: 絶対;
    上: 0;
    右: 0;
    下部: 0;
    左: 0;
    マージン: 自動;
}
/*要素自体とそのサブ要素は両方とも円です*/
.circle-bar、
.circle-bar > * {
    境界線の半径: 50%;
}

これで、CSS で円形グラデーション プログレス バー効果を実装するサンプル コードに関するこの記事は終了です。CSS グラデーション プログレス バーのコンテンツをさらにご覧になりたい場合は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  MySQL UPDATE ステートメントの「典型的な」落とし穴

>>:  ブラウザの自動フォーム入力によるウェブページのスタイル損失の原因の分析と解決

推薦する

波効果を作成するための CSS のトリック

純粋な CSS を使用して波の効果を実現することは、常に非常に困難でした。 波形曲線を実現するにはベ...

Vue プロジェクトでよく使用されるツール機能の概要

目次序文1. カスタムフォーカスコマンド1. 方法1 2. 方法2 3. 方法3 2. 入力ボックス...

Linux でユーザーをグループに追加する 4 つの方法の概要

序文Linux グループは、Linux でユーザー アカウントを管理するために使用される組織単位です...

VirtualBox は CentOS7 仮想マシンと拡張ツールをインストールします (画像とテキスト)

コンピュータシステム: win7この記事は主に写真に基づいており、多くの写真が含まれていますCent...

CSS シャドウ効果の比較: ドロップシャドウとボックスシャドウ

Drop-shadow と box-shadow はどちらも影効果(ハロー効果)のための CSS プ...

Web フォントの読み込みを最適化する方法をご存知ですか?

タイトル通りです!一般的に使用される font-family はブラウザの組み込みフォントを読み込み...

Centos7でmysql5.7.19のデータ保存場所を移動する方法

シナリオ: データ量が増加すると、MySQL が配置されているディスクがいっぱいになり、より大きなス...

React の調整アルゴリズム Diffing アルゴリズム戦略の詳細な説明

目次アルゴリズム戦略単一ノードの差分配列ノードの差分キー値の使用要件アルゴリズム戦略React の調...

Centos7 FFmpeg オーディオ/ビデオ ツールのインストールに関する簡単なドキュメント

ffmpeg は非常に強力なオーディオおよびビデオ処理ツールです。公式 Web サイトは http:...

MySQL における between の境界と範囲の説明

境界範囲間のmysql間の範囲は両側の境界値を含む例: 3 から 7 までの id は、id >...

MySQL InnoDB トランザクション ロック ソースコード分析

目次1. ロックとラッチ2. 繰り返し読み取り3. インサートロックプロセス3.1 ロックモード3....

Tomcat の設定と Eclipse での起動方法

目次Tomcat8のインストールと設定方法tomcat ダウンロードTomcat マネージャーを有効...

NodeJS は画像テキスト分割を実現します

この記事では、画像テキストセグメンテーションを実装するためのNodeJSの具体的なコードを参考までに...

nginx でネストされた if メソッドを実装する方法

Nginx はネストされた if ステートメントをサポートしておらず、if ステートメントでの論理判...

アニメーションの再生と一時停止を制御するための CSS のヒント (非常に実用的)

今日は、CSS を使用してアニメーションの再生と一時停止を制御する非常に簡単なトリックを紹介します。...