FIRST CH TOOLS / デザイン / 44 CSS GRADIENT GENERATOR
CSSグラデーションジェネレーター
直線(linear)・放射(radial)・扇形(conic)のグラデーションを、つまみをドラッグしながら組み立てて CSS を書き出します。OKLCH補間(in oklch)を選べば、鮮やかな2色の途中が灰色に濁りません。古いブラウザ向けの sRGB フォールバックも同時に出力します。
種類と向きを決めます
色は #c8501f / rgb(200 80 31 / 0.5) / hsl(14 73% 45%) / oklch(56% 0.16 40) / tomato のどの書き方でも入れられます。つまみは矢印キーでも動かせます(Shiftで10%ずつ・Deleteで削除)。
1色ぶんの変換(HEX ⇄ RGB ⇄ HSL ⇄ OKLCH・アルファ合成)は Colorコード変換&アルファ透過計算機にあります。文字色と背景色の読みやすさは コントラスト比チェッカー、画面幅に応じて変わるサイズは CSS clamp() 計算機で作れます。
選ぶとそのまま編集に入れます
クリックすると「つくる」タブへ読み込みます。色・位置・角度はそのあと自由に変えられます。見本の帯は説明のため横方向で描いていますが、放射・扇形のプリセットは読み込むと本来の形になります。
書き方と、踏みやすい落とし穴
角度は「0deg=上向き・時計回り」
CSSの linear-gradient の角度はグラデーションの終端が向く方角で、0deg が上、90deg が右、180deg が下です(時計回り)。数学の座標や、古い -webkit-linear-gradient(0deg=右・反時計回り)とは基準が違うので、古いコードをそのまま持ってくると向きが変わります。to right のようなキーワードでも書けて、to right は 90deg と同じです。
なぜ sRGB 補間だと途中が濁るのか
既定の補間は sRGB の R・G・B をそのまま直線で混ぜます。ところが sRGB の数値は人の目の感じ方と一致していないため、たとえば青と黄のように色相が離れた2色を混ぜると、途中で彩度が落ちて灰色っぽい帯が現れます。in oklch は知覚的に均等な色空間で補間するので、明るさと鮮やかさが途中でも保たれます。
oklch と oklab の違い
どちらも同じ OKLab 系ですが、oklch は極座標(明度・彩度・色相)なので、2色の間で色相環に沿って回りながら変化します。oklab は直交座標のまま混ぜるため色相が回らず、2色の直線上を通ります。赤→青のように離れた色では見え方がはっきり変わるので、両方試してみてください。
色相の回り方(shorter / longer)
極座標の空間(oklch・hsl)では、色相環のどちら回りで行くかを選べます。既定の shorter hue は近いほう、longer hue は遠いほう=色相環をぐるっと回るので虹色になります。同じ色を最初と最後に置いて longer hue の扇形にすると、色相環そのものが描けます。
フォールバックを2行で書く理由
補間色空間の指定は Chrome 111・Safari 16.2・Firefox 113(2023年)以降で使えます。それより古いブラウザは background-image の値まるごとを無効な宣言として捨てるので、同じプロパティを2回書き、1行目に sRGB 版・2行目に補間指定つきを置きます。読めるブラウザは後の行で上書きし、読めないブラウザは前の行のまま表示します。このツールの sRGB 版は、同じ曲線をなぞるように中間色を焼き込んだものです。
ハードストップで縞や円グラフを作る
2つのストップを同じ位置に置くと、そこで色が切り替わります(ぼかしのない境目=ハードストップ)。repeating-linear-gradient と組み合わせればストライプ、conic-gradient と組み合わせれば円グラフ風の塗り分けになります。くり返しは最後のストップまでを1周期とするので、最後を100%より手前に置いてください。
透明へのグラデーションと transparent
キーワードの transparent は rgb(0 0 0 / 0)=黒の透明です。いまのブラウザはアルファを掛けてから補間する(premultiplied)ので黒ずみませんが、古い実装では中間が灰色に沈みました。同じ色でアルファだけ0にする書き方(白から消すなら rgb(255 255 255 / 0))にしておけば、どの実装でも意図どおりになります。
背景に敷くときの書き方
グラデーションは画像の一種なので、指定するプロパティは background-image です(background の一括指定でも書けます)。文字にかけるなら background-clip: text と color: transparent を組み合わせます。枠線にかけるなら border-image か、擬似要素での重ね敷きを使います。アニメーションさせたい場合は、グラデーション自体はトランジションできないので、background-position や opacity を動かすか、@property で登録したカスタムプロパティを使います。
読みやすさは別で確かめる
グラデーションの上に文字を置くときは、いちばん条件の悪い場所(文字色といちばん近い明るさになる位置)でコントラスト比を測ります。WCAG の基準を満たすかどうかは コントラスト比チェッカーで、色そのものの変換は Colorコード変換で確認できます。
How to Use
- 種類と向きを決める直線・放射・扇形から選び、角度(または中心の位置)を決めます。方角のボタンで 0deg〜315deg をすぐ入れられます。
- 色を置くバーのつまみをドラッグして位置を、行の色見本や文字入力で色を変えます。バーをダブルクリックすると、その位置にストップが増えます。
- コピーして貼る「値をコピー」で linear-gradient(…) だけ、「宣言をコピー」でフォールバック込みの3行を取れます。
About This Tool
グラデーションは「どこに何色を置くか」だけで決まります。このツールは、位置(0〜100%)と色の組=カラーストップをGUIで並べ、linear-gradient / radial-gradient / conic-gradient の CSS に組み立てます。つまみのドラッグ・ダブルクリックでの追加・均等配置・反転など、値を直接打たずに形を決められます。角度はスライダーと方角ボタンの両方から指定できます。
OKLCH補間を既定にしています。CSSの既定は sRGB の値をそのまま混ぜるため、色相の離れた鮮やかな2色の中間が灰色に濁ります。in oklch を付けると知覚的に均等な色空間で補間するので、明るさと鮮やかさが途中でも保たれます。色相環をどちら回りで行くか(shorter / longer)も選べ、longer hue の扇形にすると色相環そのものを描けます。
古いブラウザ向けのフォールバックを同時に出します。補間色空間の指定を読めないブラウザは、その宣言をまるごと捨ててしまいます。そこで、同じ曲線を近似するように中間色を sRGB のストップとして焼き込んだ行を先に置き、その下に本来の in oklch 版を書きます。焼き込みの計算は CSS Color 4 の色補間に合わせ、アルファを乗算してから混ぜ、色相は指定の回り方で補正しています(半透明のストップがあっても途中が濁りません)。
1色ぶんの変換は /color/ と補完関係にあります。HEX ⇄ RGB ⇄ HSL ⇄ OKLCH の変換・アルファ合成・明度パレットは Colorコード変換&アルファ透過計算機、そこで決めた色をグラデーションに並べるのがこのページです。計算はすべてブラウザ内で完結し、入力はサーバーへ送信されません。URLパラメータで直接呼び出せます: /gradient/?type=linear&angle=135&space=oklch&stops=%23c8501f@0|%2323282e@100
Other Tools
- 01画像→WebP一括変換WebP Converter
- 02白背景の透過White BG Remover
- 03コントラスト比チェッカーContrast Checker
- 04文字数カウントCharacter Counter
- 05llms.txt ジェネレーターllms.txt Generator
- 06JSON-LD構造化データ生成JSON-LD Generator
- 07Markdown→PDF変換MD → PDF
- 08OGPメタタグ生成ウィザードOGP Wizard
- 09faviconジェネレーターFavicon Generator
- 10TikTok投稿ツールTikTok Publisher
- 11文字コード・改行コード変換Encoding Converter
- 12画像→AVIF変換+picture生成AVIF Converter
- 13テストデータ生成Test Data Generator
- 14Marp Markdown→スライドMarp Slides
- 15テキスト・コード差分チェッカーDiff Checker
- 16Cron式ビジュアル解説&発火日時Cron Explainer
- 17Base64 & Data URI変換Base64 & Data URI
- 18URLパラメータ分解・UTMタグ編集URL Parameters
- 19HTMLエンティティ・特殊文字エスケープHTML Escape
- 20JSON ⇄ YAML 相互変換&整形JSON ⇄ YAML
- 21PX ⇄ REM / EM 単位変換&スケール表PX ⇄ REM / EM
- 22Colorコード変換&アルファ透過Color Converter
- 23MD5 / SHA-256 ハッシュ生成Hash Generator
- 24JWTデコーダー&有効期限チェッカーJWT Decoder
- 25User-Agent解析&デバイス判定User-Agent Parser
- 26UUID (v4) & ULID 一括生成UUID & ULID Generator
- 27アスペクト比計算&レスポンシブサイズAspect Ratio Calculator
- 28Markdownテーブル整形&CSV/TSV変換Markdown Table
- 29SQLクエリフォーマッター&整形SQL Formatter
- 30QRコード生成QR Code Generator
- 31正規表現テスターRegex Tester
- 32UNIXタイムスタンプ⇄日時変換Unix Time Converter
- 33新規タブメモ帳 Chrome拡張New Tab Memo
- 34画像リサイズ&クロップImage Resizer
- 35EXIF情報の確認&除去EXIF Viewer
- 36robots.txt ジェネレーターrobots.txt Generator
- 37安全なパスワード生成Password Generator
- 38文字列ケース変換Case Converter
- 39CSV/TSV ⇄ JSON 相互変換CSV ⇄ JSON
- 40PDF結合・分割・ページ抽出PDF Merge & Split
- 41全角⇄半角変換&テキストクリーナーZenkaku ⇄ Hankaku
- 42X(Twitter)投稿の文字ウェイト計算X Post Counter
- 43CSS clamp() フルイドタイポグラフィ計算機CSS clamp() Calculator