【コピペOK】CSSだけで円グラフが作れます
SVGやcanvasなどで出力することの多い円グラフ、実はCSSだけでできちゃいます。
豊かに引きこもる。
Webデザインは器。ブログは中身。
「レンちゃんとペンタ」では、2つのスキルを掛け合わせて、
おウチで豊かに楽しく暮らす方法をご紹介しています。
完成形はコチラ
こんな感じで、svgも等の画像ナシ、CSSだけの円グラフです。
円グラフの作り方
円錐形のグラデーションを作る
conic-gradient()という関数を使うと、円錐状のグラデーションを作る事ができます。
組み合わせるプロパティはbackground-imageです。background-colorではないのでご注意を。
以下は、青、水色、黄色の3色で作った円錐グラデーションのサンプルです。
グラデーションの切り替わり位置を設定
色指定の後に角度を追加すると、グラデーションの切り替え位置を調節する事ができます。
以下は、12時の位置を0度として時計回りに、黄色(0度)、水色(15度)、青(360度)で色調整を行ったサンプルです。
円錐形グラデーションの切り替わり位置をはっきりさせる
conic-gradient()関数では、1つの色に対して開始角度と終了角度、2つの数値を入れることができます。
以下は、0〜135度までを黄色、135〜180度までを水色、180〜360度までを青にしたサンプルです。
これで一気に円グラフの姿になりました!
応用編
最後はおまけです。
ドーナツ型の円グラフ
擬似要素beforeを使って中央に白丸を載せると、ドーナツっぽいグラフになります。
半径の異なる円グラフ
こちらは小さい正円の上に、擬似要素beforeで0〜135度までが透明の円グラフを載せています。
放射模様
最後はもはや円グラフではありませんが、色を互い違いにすると放射模様になります。
以下は15度ずつ、24等分にしたサンプルです。
まとめ
ECサイトの売上や顧客管理画面やアンケートの結果表示等、需要は限られそうですが、数値データだけ渡してもらえばCSSだけで表現できるのはとても便利です。
ボーダー・ストライプや水玉、格子模様等、CSSによる表現がどんどん豊かになっていくのは楽しいですね。
-
Home
-
【コピペOK】CSSだけで円グラフが作れます