ウェブデザインのモノクロマティックカラーパレット:実践ガイド
単色カラーパレットはウェブデザインをどう変えるか
ここ10年以上、ウェブサイトを構築してきた経験から学んだ最も難しい教訓の一つがこれです:色を多く使うことは、デザインを良くしません。むしろ、より散乱させるだけです。最も洗練されて見えるサイト、つまり全てが「正しく感じられる」サイトは、驚くほど少ない色数を使っています。その中の多くは、たった1つの色だけを使っています。これが単色カラーパレットの力であり、この方法を正しく理解すると、常にそれを選択するようになります。
これは単なる美的嗜好ではありません。単色パレットは可読性の向上、認知負荷の軽減、さらにはコンバージョン率の向上すら可能にするという、確実なデータが存在します。Apple、Stripe、Linearのようなブランドは、単一の色合いのバリエーションの周りに、すべてのビジュアルアイデンティティを構築しています。彼らが実際にどのように行っているか、そしてあなたもどのように行えるかについて、正確に説明しましょう。
目次
- 単色とは実際には何か
- シェード、ティント、トーン -- 構成要素
- 単色パレットをステップバイステップで構築する方法
- なぜApple、Stripe、Linearは単色スキームを使うのか
- 実用的なCSS実装
- ダークモードの考慮
- 単色パレットとコンバージョン率
- よくある間違いとその回避方法
- FAQ

単色とは実際には何か
多くのデザイナーを困惑させる誤解を解きましょう。単色は「黒と白」を意味しません。グレースケールでもありません。この言葉はギリシャ語に由来しています:mono(単一)+ chroma(色)。単色カラーパレットは1つのベースカラーを使用し、その明るさ、暗さ、彩度を調整することで多様性を作り出します。
したがって、単色の青パレットには、紺、ロイヤルブルー、スカイブルー、ベイビーブルー、くすんだスレート色の青が含まれるかもしれません。それらはすべて青です。色相環上の色相値は同じ(またはほぼ同じ)のままです。変わるのは:
- 明るさ -- どの程度の白または黒が混ざっているか
- 彩度 -- その色がどの程度鮮やかであるか、またはくすんでいるか
これは他のカラースキームとは根本的に異なります:
| カラースキーム | 色相の数 | 例 |
|---|---|---|
| 単色 | 1 | 複数の青 |
| アナロガス | 2~3 隣接 | 青+青緑+緑 |
| コンプリメンタリ | 2 対称 | 青+オレンジ |
| トライアディック | 3 均等分散 | 青+赤+黄 |
| スプリットコンプリメンタリ | 3 | 青+赤オレンジ+黄オレンジ |
単一の色相という制約こそが、単色パレットを強力にし、同時に難しくします。厳密な境界内で作業しており、それが優雅さを強制します。インタラクティブ色相環ツールを使って独自の単色パレットを生成してみてください。任意の色相を選択して、可能性の全範囲を確認できます。
シェード、ティント、トーン -- 構成要素
これら3つの用語は緩く使われていますが、色彩理論では正確な意味を持っています。違いを理解することは、実際に機能するパレットを構築するために不可欠です。
ティント(色相+白)
ティントはベースカラーと白を混ぜたものです。白を多く追加するほど、ティントは明るくなります。ティントは風通しがよく、柔らかく、親しみやすい感じがします。背景、ホバー状態、微妙なハイライトに使用できます。
hsl(220, 80%, 50%)の青から開始すると、ティントはhsl(220, 80%, 85%)かもしれません。色相と彩度は同じままです。明度が上がります。
シェード(色相+黒)
シェードはベースカラーと黒を混ぜたものです。シェードは深く、真摯で、基盤となります。テキスト、見出し、フッター、重みを出したいプライマリアクションに適しています。
同じ青から:hsl(220, 80%, 25%)。明度が下がります。
トーン(色相+グレー)
これはほとんどの人が忘れるものです。トーンはベースカラーとグレーを混ぜたもので、効果的に彩度を低下させます。トーンは洗練されて、くすんだ感じがします。単色パレットが人工的ではなく、自然に感じられるようにするための秘密兵器です。
私たちの青から:hsl(220, 40%, 50%)。彩度が下がり、明度はそのままです。
ここで簡単に参照できるようにしました:
| バリエーション | 変わるもの | 方向 | ビジュアル的感覚 |
|---|---|---|---|
| ティント | 明度 | 増加 | 明るい、風通しがよい、柔らかい |
| シェード | 明度 | 減少 | 深い、重い、基盤となる |
| トーン | 彩度 | 減少 | くすんだ、洗練された、自然 |
| ベース色相 | なし | -- | 純粋、鮮やかな、焦点 |
よく構築された単色パレットは、3つすべてを使用します。ティントとシェードだけを使用する場合(最も一般的な初心者の間違い)、パレットはペイント見本カードのように見えます。技術的には正しいですが、生気がありません。トーンを追加することで個性が生まれます。
単色パレットをステップバイステップで構築する方法
以下は、クライアントプロジェクト用に単色パレットを構築するときの実際のプロセスです。ヘッドレスCMS開発を通じて構築した数十のサイトでこのアプローチを使用してきており、素晴らしくスケーリングします。
ステップ1:ベース色相を選択する
単一の色相値(HSL色相環上の0~360)から開始します。これが行う最も重要な決定です。いくつかの色相範囲は自然に作業しやすいです:
- 青(210~240):安全、信頼できる、膨大な範囲。間違える可能性は低い。
- 緑(120~160):金融、健康、サステナビリティに最適。
- 紫(260~290):創造的、プレミアム、特徴的。
- オレンジ/赤(0~30):エネルギッシュですが難しい。高い彩度の赤は攻撃的に感じられる可能性があります。
1つの番号を選びます。それにコミットします。このチュートリアルでは、220(古典的な青)を使用します。
ステップ2:スケールを生成する
通常、パレットに9~11のステップを作成し、Tailwind CSSの命名規則(50から950まで)に似たパターンに従います。色相220の場合の構築方法は以下の通りです:
:root {
--color-50: hsl(220, 75%, 97%); /* ほぼ白の背景 */
--color-100: hsl(220, 70%, 93%); /* 微妙な背景 */
--color-200: hsl(220, 65%, 85%); /* 枠線、区切り線 */
--color-300: hsl(220, 60%, 72%); /* 無効状態 */
--color-400: hsl(220, 55%, 58%); /* プレースホルダーテキスト */
--color-500: hsl(220, 65%, 50%); /* ベース -- プライマリボタン */
--color-600: hsl(220, 70%, 42%); /* ホバー状態 */
--color-700: hsl(220, 75%, 33%); /* アクティブ/押下状態 */
--color-800: hsl(220, 70%, 22%); /* 見出しテキスト */
--color-900: hsl(220, 65%, 14%); /* 本文テキスト */
--color-950: hsl(220, 60%, 8%); /* ほぼ黒 */
}
彩度が常に一定ではないことに注意してください。これは重要です。非常に明るいティントと非常に暗いシェードの彩度を少し低下させながら、中間の範囲で最高に保ちます。これにより、彩度が高すぎるティントから得られる「電気的な」ルックを防ぎ、暗いシェードがくすんだように見えるのを防ぎます。
ステップ3:セマンティックロールを割り当てる
これらの値を実際のUI目的にマップします:
:root {
/* サーフェス */
--bg-primary: var(--color-50);
--bg-secondary: var(--color-100);
--bg-elevated: white;
/* テキスト */
--text-primary: var(--color-900);
--text-secondary: var(--color-600);
--text-muted: var(--color-400);
/* インタラクティブ */
--btn-primary-bg: var(--color-500);
--btn-primary-hover: var(--color-600);
--btn-primary-text: white;
/* 枠線 */
--border-default: var(--color-200);
--border-strong: var(--color-300);
}
このツイレイヤーシステム(生のスケールとセマンティックトークン)は、テーマの設定と保守をはるかに簡単にします。11のHSL値を変更するだけで、パレット全体を交換できます。
ステップ4:アクセント色を追加する(オプションですが推奨)
純粋主義者は異議を唱えるかもしれませんが、クリティカルなCTAやエラー/成功状態には、ほぼ常に単一のアクセント色を追加します。これは反則ではありません。実用的です。Appleでさえ、ほぼ単色のページでアクセントポップを使用しています。
良いルール:補色または類似色の色相を選択し、控えめに使用します。青220パレットの場合、色相30のオレンジは「今すぐ購入」ボタンまたは通知バッジに完璧に機能します。
色相環ツールで組み合わせを試してみてください。単色スケールと一緒に補色オプションが表示されます。

なぜApple、Stripe、Linearは単色スキームを使うのか
これらの企業は偶然に単色パレットに行き着いたわけではありません。その選択には戦略的な理由があります。
Apple:製品に語らせる
Appleのウェブサイトは有名に抑制されています。iPhone、MacBook、AirPodsの製品ページは、ほぼグレースケールの単色パレット(色相0、彩度ほぼ0)と膨大な空白を使用しています。実際の色は製品写真からのみ来ています。
これは意図的です。背景パレットが単色でニュートラルな場合、製品画像がポップアップします。ハードウェアが色になります。Appleのデザインチームはこの哲学を公開で議論しており、製品以外はすべてをほぼ見えなくするまで削減します。
Stripe:一貫性を通じた信頼
Stripeは単色の青紫パレット(およそ色相250~260)を大幅に活用しています。ダッシュボード、ドキュメント、マーケティングサイトはすべて同じトーン系を共有しています。これにより、デザイナーが「ビジュアルトラスト」と呼ぶものが生成されます。すべてのページが同じシステムに属しているように感じるとき、ユーザーはサブコンシャスにブランドをより信頼します。
Stripeはまた何か賢いことをしています。ヒーロセクションとイラストのためだけにUIクロムと導入グラデーションアクセント(それらの有名なStripeグラデーション)に単色パレットを使用します。構造要素は単色のままです。それは規律があります。
Linear:ブランドアイデンティティとしての単色
Linearはおそらく最も純粋な例かもしれません。彼らのアプリ全体は、単色の暗いパレットと、インタラクティブ要素用の単一のアクセント色で構築されています。結果は非常に焦点が合っているように感じます。あなたの注目を争う何もありません、コンテンツと取るべき行動以外。
このアプローチは、特に生産性ツールに適しています。ユーザーが数時間あなたのインターフェースで過ごす場合、ビジュアルの落ち着きは「持つといいな」ではありません。それは要件です。
実用的なCSS実装
実際のコードに移りましょう。ここは、私がSocial Animalを通じて配送するNext.jsプロジェクトとAstroビルドで、特に単色パレットを実装する方法です。
HSL付きCSSカスタムプロパティ
HSLは色相が定数のままで、彩度と明度だけを調整するため、単色作業に最適な形式です。しかし、より新しいoklch色空間を使用するという、さらに良いアプローチがあります:
:root {
/* 色相を一度定義する */
--hue: 220;
/* HSLアプローチ */
--color-500: hsl(var(--hue), 65%, 50%);
--color-600: hsl(var(--hue), 70%, 42%);
/* OKLCHアプローチ(知覚的一様性が向上) */
--color-500-oklch: oklch(55% 0.15 250);
--color-600-oklch: oklch(45% 0.16 250);
}
なぜoklchを検討するのでしょうか?HSLでは、50%の明度の青と50%の明度の黄色は、知覚される明るさの観点から非常に異なって見えます。OKLCHはこれを修正します。デザインシステムを構築している場合、OKLCHはパレット全体で知覚的に一貫したステップを生成します。2025年初旬の時点で、ブラウザサポートはグローバルに約93%に達しており、本番環境対応です。
プログラムでスケールを生成する
より大きなプロジェクトでは、JavaScriptまたはビルド時スクリプトでパレットを生成します:
function generateMonochromaticScale(hue, steps = 11) {
const scale = {};
const labels = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];
labels.forEach((label, i) => {
const lightness = 97 - (i * (97 - 8) / (steps - 1));
// 彩度は中央でピークし、極値で低い
const saturation = 50 + 25 * Math.sin((i / (steps - 1)) * Math.PI);
scale[label] = `hsl(${hue}, ${Math.round(saturation)}%, ${Math.round(lightness)}%)`;
});
return scale;
}
const blueScale = generateMonochromaticScale(220);
// { 50: 'hsl(220, 50%, 97%)', 100: 'hsl(220, 62%, 88%)', ... }
彩度用のサイン曲線はRadix Colorsチームから学んだトリックです。中間トーンが最も鮮やかで、極値がより穏やかな、自然に見える分布を生成します。
Tailwind CSS v4統合
Tailwind CSS v4(2025年1月リリース)を使用している場合、CSSで直接単色パレットを定義できます:
@theme {
--color-brand-50: hsl(220, 75%, 97%);
--color-brand-100: hsl(220, 70%, 93%);
--color-brand-200: hsl(220, 65%, 85%);
--color-brand-300: hsl(220, 60%, 72%);
--color-brand-400: hsl(220, 55%, 58%);
--color-brand-500: hsl(220, 65%, 50%);
--color-brand-600: hsl(220, 70%, 42%);
--color-brand-700: hsl(220, 75%, 33%);
--color-brand-800: hsl(220, 70%, 22%);
--color-brand-900: hsl(220, 65%, 14%);
--color-brand-950: hsl(220, 60%, 8%);
}
その後、マークアップ全体でbg-brand-500、text-brand-900など を使用します。クリーンです。
ダークモードの考慮
これは単色パレットが本当に輝く場所です。関連のジョークです。単色パレットを使用して暗いモードに切り替えることは、マルチ色パレットよりもはるかに簡単です。
反転戦略
最も単純なアプローチ:セマンティックマッピングを反転します。
@media (prefers-color-scheme: dark) {
:root {
--bg-primary: var(--color-950);
--bg-secondary: var(--color-900);
--bg-elevated: var(--color-800);
--text-primary: var(--color-50);
--text-secondary: var(--color-300);
--text-muted: var(--color-500);
--border-default: var(--color-800);
--border-strong: var(--color-700);
}
}
すべての色が同じ色相を共有しているため、ダークモードは自動的に一貫しているように感じます。マルチ色パレットを使用すると、ダークバックグラウンド用に各色を個別に調整する必要があります。コントラスト比をチェック、彩度を調整してネオンエフェクトを回避し、などなど。単色では、主に明度軸を反転するだけです。
ダークモードの彩度調整
1つのニュアンス:同じ彩度レベルの色は、暗い背景に対してより彩度が高いように見えることがあります。目は、暗い周囲に対して鮮やかな色を異なる方法で認識します(これはHelmholtz–Kohlrausch効果と呼ばれます)。補正するには:
@media (prefers-color-scheme: dark) {
:root {
/* ダークモード用に中間トーンを少し彩度を低下させる */
--color-400: hsl(220, 45%, 58%); /* 彩度は55%でした */
--color-500: hsl(220, 55%, 55%); /* 彩度は65%でしたが、明度を上げました */
--color-600: hsl(220, 60%, 48%); /* 彩度は70%でした */
}
}
この小さな調整は、暗いモードUIを厳しく感じさせる「光る」エフェクトを防ぎます。
コントラスト比
WCAG 2.1では、通常のテキストは最小4.5:1、大きいテキストは3:1の最小コントラスト比が必要です。単色パレットの場合、すべての色が同じ色相ファミリーにあるため、特に注意する必要があります。隣接するシェードが簡単に混在する可能性があります。
常にテキスト/背景の組み合わせを確認してください。I use the APCA (Advanced Perceptual Contrast Algorithm) that's part of the upcoming WCAG 3.0 draft -- it gives more accurate results for real-world readability than the current WCAG 2.1 formula.
| 組み合わせ | WCAG 2.1 比 | APCA Lc | AA パスしていますか? |
|---|---|---|---|
| color-900 on color-50 | 14.8:1 | Lc 97 | ✅ |
| color-700 on color-100 | 7.2:1 | Lc 68 | ✅ |
| color-500 on color-200 | 3.8:1 | Lc 42 | ❌(通常のテキスト) |
| color-400 on color-100 | 2.9:1 | Lc 33 | ❌ |
3番目の行を参照してください。危険なほど近いです。これは単色パレットでの最も一般的なアクセシビリティの罠です。明るい背景の中間値テキストは、コントラストに失敗することがよくあります。テキストをより暗くするか、背景をより明るくします。
単色パレットとコンバージョン率
ここで皆が知りたいと思う部分です。これは実際にビジネスメトリクスに影響しますか?
短い答え:はい、ですが、ほとんどの記事で主張するような方法ではありません。
研究
Baymard Instituteによる2023年の調査では、e-コマースの製品ページ上の競合するビジュアル要素の数を削減することで、カート追加率が12~17%増加したことがわかりました。これは色パレットタイプについて具体的には行われていませんでしたが、単色パレットは自然にビジュアルの競争を削減します。
HubSpotの2024年CROレポートでは、1つの支配的な色ファミリーと1つの対比するCTAの色を持つページが、3つ以上の異なる色相ファミリーを持つページより、クリックスルー率で約21%のパフォーマンスを上回ったことを示しました。理論は簡潔です:すべてが同じ色相ファミリーの場合、対比するCTAボタンは明らかな焦点になります。
SaaS最適化会社のSpeero(旧WiderFunnel)は、2024年後期に、4色スキームから単色プラスアクセントスキームへの価格設定ページの単純化がプラン選択クリックを8.3%増加させた(統計的有意性を持つ)A/Bテストデータを発行しました。
なぜそれは機能するのか
メカニズムは魔法ではありません。これはコントラストを通じたビジュアルの階層です。ページ全体が青で構築されている場合、単一のオレンジボタンは注目を要求します。あなたの目は他に行く場所がありません。
青、緑、紫、オレンジを使用するページと比較してください。オレンジボタンは複数の他の色信号と競争する必要があります。ビジュアルの階層は曖昧になります。
単色パレットはあなたの情報アーキテクチャを見えるようにします。暗いシェードの見出し、中間トーンの本文、軽いトーンのサポートテキスト、および最も明るいティントの背景。それは自動的な読む順序を作成します。
注意事項
これらの数字だけの理由でサイト全体を単色に再設計しないでください。コンテキストは非常に重要です。カラフルな服を売るe-コマースサイトは、おそらく単色にならないはずです。B2B SaaSダッシュボードはほぼ確実にそうすべきです。あなたの聴衆、あなたの製品、あなたの市場でテストしてください。
データ駆動色戦略の実装に関するヘルプが必要な場合は、チームに連絡してください。これは正確には、私たちが行う設計とエンジニアリングの相互作用です。
よくある間違いとその回避方法
間違い1:均一な彩度
すべてのステップで彩度を一定に保つことは、人工的に見えるパレットを生成します。それを変えてください。極値で低く、中央でより高い。
間違い2:ステップが少なすぎる
5色は本番環境UIに十分ではありません。ホバー状態、無効状態、フォーカスリング、区切り線、および複数のテキストレベルのバリエーションが必要です。最小限9~11のステップを目指してください。
間違い3:暖かい/冷たいバイアスを無視する
単一の色相内でさえ、コンテキストが重要です。色相210の青は、色相240の青よりも冷たく読みます。選択した色相があなたのブランドの個性と一致していることを確認してください。
間違い4:アクセント色がない
純粋な単色でゼロアクセント色は、インタラクティブなウェブアプリケーションでは非常に実装が困難です。プライマリCTA、エラー、成功状態のために少なくとも1つの対比する色が必要です。Linearでさえアクセント色を使用しています。
間違い5:色盲について忘れる
単色パレットは、実際には色相差ではなく明度差に依存しているため、色覚異常のあるユーザーの場合、マルチ色パレットより優れています。しかし、隣接するステップ間に十分なコントラストを確保する必要があります。意味を伝える際に色だけに頼らないでください。常にアイコン、ラベル、またはパターンと組み合わせてください。
FAQ
ウェブデザインでは単色は何を意味しますか?
ウェブデザインでの単色とは、単一の色相を使用し、その明るさ(シェードとティント)と彩度(トーン)を変更することで色スキーム全体を構築することを意味します。単色パレット内のすべての色は、同じカラーファミリーに属しています。青または緑の異なる値のように。これはグレースケールとは異なります。グレースケールは特に色相がありません。
ゼロからスクラッチで単色カラーパレットを作成する方法は?
HSL色相環上の1つの色相値(0~360)を選択することから開始します。次に、明度をほぼ白(97%)からほぼ黒(8%)に調整することで9~11のステップを作成します。スケール全体で彩度を変えてください。中間範囲でピーク彩度、極値でより低い彩度。これらの生の値をセマンティックロールにマップします。背景、テキスト、枠線、インタラクティブ要素のような。単色パレットツールで即座に生成できます。
単色パレットはアクセシビリティに良いですか?
それはアクセシビリティに優れています。色盲のある人の主要な問題である色相差に依存しないためです。ただし、テキストと背景の色の間に十分なコントラスト比を確保する必要があります。単色パレットのリスクは、中間範囲の値の明度が同様すぎて、WCAG 2.1コントラスト要件に失敗する可能性があることです。常にコントラスト確認ツールで検証してください。
単色パレットでダークモードを使用できますか?
絶対に、そしてマルチ色パレットをダークモードに適応させるより実際に簡単です。基本的なアプローチはセマンティック色マッピングを反転することです。明るい背景は暗くなり、暗いテキストは明るくなります。すべての色が同じ色相を共有しているため、暗いモードは自動的に一貫性があるように感じます。中間トーンのダークモードで彩度をわずかに低減することを忘れないでください。光る効果を回避します。
単色カラースキームはコンバージョン率を低下させますか?
いいえ。データは逆を示唆しています。HubSpot(2024)とSpeero からの調査では、単色プラスアクセント色戦略はしばしば、クリックスルーとコンバージョン率の多色のアプローチを上回ることを示します。メカニズムはシンプルです。すべてが1つの色相を共有する場合、単一の対比するCTAはページ上の否定できない焦点になります。
単色とアナロガスカラースキームの違いは何ですか?
単色スキームは、1つの色相を使用し、明るさと彩度を変化させます。アナロガススキームは、色相環に隣接して位置する2~3の色相を使用します。青、青緑、緑のような。アナロガスはあなたに調和を保ちながら、より多くの色相多様性を与えます。単色はより制限されていますが、統一的な感覚が強いものを生成します。
単色パレットに最適なCSS色形式は何ですか?
HSLは最も直感的です。色相値は定数のままで、彩度と明度だけを調整するためです。本番デザインシステムの場合、OKLCHを検討してください。より良い知覚的一様性を提供しており、これは明度のステップが実際に人間の目にイコール間隔に見えることを意味します。2025年初旬までのOKLCHのブラウザサポートは、グローバルカバレッジの約93%に達しました。
単色パレットにアクセント色を追加する必要がありますか?
ほとんどのウェブアプリケーションとマーケティングサイトについて、はい。単一のアクセント色(通常、補色またはベース色相から120°)は、プライマリCTA、エラー状態、通知のツールを与えます。重要なのは節度です。アクセント色を控えめに使用するので、その力を保持します。Apple およびLinearのような有名に最小限のブランドでさえ、インタラクティブ要素のアクセント色を組み込んでいます。