≪ Today I learned.
RSS購読
    公開日
    タグ
    CSS
    著者
    ダーシノ

    conic-gradientを使った円グラフパターン

    グラデーション関連のCSS関数に、conic-gradient()がある。この関数は放射状のグラデーションを作ることができ、応用することで円グラフがCSSだけで簡単に作れる。

    conic-gradient()の基礎

    /* 自動的にグラデーションする */
    .rainbow {
      background: conic-gradient(
        red, orange, yellow, green, blue, indigo, violet
      );
    }
    
    /* 色の範囲を角度で指定する */
    .deg {
      background: conic-gradient(
        red 45deg,
        orange 45deg 90deg,
        yellow 90deg 135deg,
        green 135deg 180deg,
        blue 180deg 225deg,
        indigo 225deg 270deg,
        violet 270deg 315deg,
        purple 315deg 360deg
      );
    }
    .gradient
    .deg

    conic-gradient()を使った円グラフ

    .pie {
      --percent: 83%;
      border-radius: 50%;
      background: conic-gradient(
        from 0deg,
        yellowgreen 0 var(--percent),
        ghostwhite var(--percent) 100%
      );
    }
    83%

    background-clipを使ったドーナツグラフ

    background-clip: border-areaを使うことで、ドーナツグラフ(中抜き円グラフ)を作れる。

    .donut {
      --percent: 83%;
      border-radius: 50%;
      background: conic-gradient(
        from 0deg,
        yellowgreen 0 var(--percent),
        ghostwhite var(--percent) 100%
      );
    
      /* border-areaで切り抜く */
      background-clip: border-area;
      background-origin: border-box;
      border: 10px solid transparent;
    }
    83%

    ドーナツグラフ

    ドーナツグラフ

    複数の色を使ったドーナツグラフ

    .donut-multi {
      border-radius: 50%;
      background-image: conic-gradient(
        yellowgreen 0 20%,
        yellow 20% 40%,
        orange 40% 60%,
        red 60% 80%,
        purple 80% 100%
      );
    
      /* border-areaで切り抜く */
      background-clip: border-area;
      background-origin: border-box;
      border: 10px solid transparent;
    }
    Hello

    複数色を使ったドーナツグラフ

    複数色を使ったドーナツグラフ