Menu
日本語

CSS グラデーションジェネレーター

ライブコード出力付きで CSS グラデーションをビジュアルに設計。

最終更新

タイプ
プリセット
プレビュー2 ストップ
カラーストップ
  • 0%
  • 100%
CSS
background: linear-gradient(135deg, #b18cff 0%, #5ac8c8 100%);

CSSグラデーションジェネレーターとは?

CSSグラデーションジェネレーターは、CSSの linear-gradientradial-gradientconic-gradient を視覚的に編集するためのツールです。手作業でカラーストップを書く必要はなく、トラック上で色をドラッグし、プレビューが更新されるのを確認しながら、そのままスタイルシートに貼り付けられるCSSをコピーできます。

モダンなUIでグラデーションは至るところに登場します。ヒーローセクション、カードのオーバーレイ、ボタンのステート、グロウエフェクト、ダークモードの微妙な色味、ローディングスケルトン、装飾的なボーダーなど。手書きで書ける力があれば作業は速くなりますが、アイデアを試行錯誤するフェーズではビジュアルジェネレーターに勝るものはありません。

CSSのグラデーションには3種類あります。*Linear* は任意の角度で直線方向に色が流れるタイプ。*Radial* は中心点から円や楕円状に放射されるタイプ。*Conic* は時計の針のように中心を軸として色が回るタイプです。それぞれ得意な用途があり、1つの背景に複数のグラデーションを重ねて使うこともできます。

グラデーションを設計しながら学べること

  • グラデーションは *方向(または形状)* と *カラーストップ*(位置を指定できる色)で定義されます。
  • 同じ位置に2つのカラーストップを置くと *ハードエッジ* ができ、ストライプや背景の分割に使えます。
  • oklch のようなモダンな色空間を使うと、rgbhsl よりも知覚的に均一で滑らかなグラデーションになります。

CSSグラデーションを作る手順

  1. グラデーションの種類を選ぶ

    直線的に色を流すなら linear、円形にフェードさせるなら radial、中心を軸に色を回したいなら conic を選びます。

  2. 角度や位置を設定する

    linear なら角度を度数で指定します(CSSでは 0deg が下から上方向です)。radial と conic では中心位置を指定します。

  3. カラーストップを追加して並べる

    好きな数だけ色を追加できます。各ストップをトラック上でドラッグして位置を調整します。同じ位置に2つ置けばハードエッジになります。

  4. 実物に近い形でプレビュー

    幅広のヒーロー、カード、ボタンを切り替えて、アスペクト比の違いでグラデーションの見え方がどう変わるかを確認します。

  5. CSSをコピーする

    そのまま使える background 宣言をコピーして、自分のスタイルシートに貼り付けるだけです。

CSSグラデーション クイックリファレンス

3つのグラデーション関数と、その中で使うパーツのまとめ。詳しい仕様はMDNを参照: linear-gradientradial-gradientconic-gradient

関数・要素役割
linear-gradient直線方向に色を流すlinear-gradient(135deg, #6c8cff, #b18cff)
radial-gradientある点から放射状に色を広げるradial-gradient(circle at 30% 20%, #fff, #000)
conic-gradient中心を軸に色を一周させるconic-gradient(from 0deg, red, yellow, red)
repeating-linear-gradientストライプパターンをタイル状に繰り返すrepeating-linear-gradient(45deg, #000 0 10px, #fff 10px 20px)
カラーストップ色+(オプションの)位置#6c8cff 25%
ハードストップ同じ位置に2回置いてシャープな境界を作る#000 50%, #fff 50%
複数グラデーション1つの要素に重ねて指定できるbackground: g1, g2, g3;

試してみたいCSSグラデーションの例

落ち着いたヒーロー用グラデーション

CSS
.hero {  background: linear-gradient(135deg, #6c8cff 0%, #b18cff 100%);}

2色の斜めグラデーション。インディーSaaSのヒーローでよく見る定番ルックで、目に優しくテキストとも相性が良い組み合わせです。

ラジアルのスポットライト

CSS
.card {  background:    radial-gradient(circle at 30% 20%, rgba(255,255,255,0.15), transparent 40%),    #1f2230;}

単色の上に半透明のラジアルハイライトを重ねて、柔らかな光源を擬似的に表現するテクニック。ダークモードのカードに特に効きます。

ハードストップで作るストライプ

CSS
.stripes {  background: repeating-linear-gradient(    45deg,    #1a1a1a 0 12px,    #2a2a2a 12px 24px  );}

同じ位置に2つのストップを置けば境界がシャープになります。それを repeating-linear-gradient でくるんでやれば、パターンが繰り返しタイル状に並びます。

CSSグラデーションでありがちなミス

  • カラーストップを増やしすぎる ― 3〜4色で十分なケースが多く、それ以上はかえって濁った印象になりがちです。
  • CSSのグラデーションでは 0deg が下から上方向だということを忘れる(多くのデザインツールの「0°=右」とは違います)。
  • コントラストの強いグラデーションの上にテキストを乗せるとき、両端での可読性をチェックし忘れる ― WCAGのコントラスト比を意識しましょう。

CSSグラデーションのよくある質問

CSSグラデーションはどう作るの?
background または background-image プロパティの値として linear-gradientradial-gradientconic-gradient のいずれかを指定します。各関数は方向(または中心位置)とカラーストップのリストを引数に取ります。
linear・radial・conic の違いは?
linear は直線方向に色を流すタイプ。radial は中心点から円形・楕円形に放射されるタイプ。conic は時計の針のように中心を軸として色が回るタイプです。
CSSグラデーションをアニメーションできる?
ブラウザはグラデーション画像同士を滑らかに補間してくれません。定石としては、background-position をアニメーションして動かす、2つのグラデーションレイヤーをopacityで切り替える、カラーストップに使ったCSSカスタムプロパティをアニメーションする、といった方法があります。
グラデーションに縞(バンディング)が出るのはなぜ?
広い領域に対して離散的な色の段階が少なすぎるとバンディングが発生します。中間ストップを増やす、oklch のような知覚的な色空間に切り替える、ごく薄いノイズをディザリングとして重ねる、といった対処法があります。
CSSグラデーションは全ブラウザで使える?
linear と radial はほぼ全ブラウザでサポートされています。conic も主要なモダンブラウザではすべて使えます。非常に古いブラウザに対応する場合は、グラデーション宣言の前に単色の background-color をフォールバックとして置いておくと安心です。

詳しく見る

その他の開発者ツール

Coddyでコードを学ぼう

始める