カラーシステムとそのテーマへの適用について理解します。
Radix Themesには、それぞれにライト、ダーク、アルファバリアントを持つ、多数のカラースケールが付属しています。内部では、カラーシステムはRadix Colorsによって駆動されています。
アクセントカラーは、テーマの中で最も支配的な色です。これは、プライマリボタン、リンク、その他のインタラクティブな要素に使用されます。accentColor
は、Themeコンポーネントで直接指定します。
選択できるアクセントカラーの範囲があります
各アクセントは、各色のソリッドと透明なバリアントを含む12段階のスケールです。例えば、インディゴ
のカラースケールは以下のようになります。
アクセントカラートークンは、CSS変数を使用してアクセスできます。これらのトークンを使用すると、カスタムコンポーネントのスタイルを設定し、テーマの他の部分と一貫性を持たせ、アクセシビリティを確保できます。
純粋なグレーまたは色付きのグレーのいずれかを選択できます。アクセントカラーは、それに合うグレーの色合いと自動的に組み合わされます。ただし、ThemeコンポーネントでカスタムのgrayColor
を直接指定することもできます。
6つのグレーから選択できます。その差は微妙に見えるかもしれませんが、特にテキストが多いページや密集したUIでは影響があります。
グレーは、各色のソリッドと透明なバリアントを含む同じ12段階のカラースケールに基づいています。例えば、スレート
のカラースケールは以下のようになります。
グレーのカラートークンは、CSS変数を使用してアクセスできます。これらのトークンを使用すると、カスタムコンポーネントのスタイルを設定し、テーマの他の部分と一貫性を持たせ、アクセシビリティを確保できます。
利用可能な場合、コンポーネントのcolor
プロパティを使用して、テーマのアクセントをオーバーライドできます。ネストされたコンポーネントは、新しいアクセントカラーを自動的に継承します。
個別の色は、対応する名前で同様のCSS変数を使用して直接アクセスできます。例えば、赤は--red-1
、--red-2
、そして--red-12
まで同様にアクセスできます。
ほとんどの場合、color
プロパティを持つコンポーネントには、ページの背景に対して目立つ外観を実現するhighContrast
オプションも用意されています。
Radix Themesは、現在のコンポーネントのアクセントカラーに応じて、フォーカスと選択の色を自動的に調整します。ほとんどの場合、color
プロパティを設定すると、色の不一致を避けるために、フォーカスと選択の色がインテリジェントに変更されます。
フォーカスのカラートークンは、他のスケールと同様の命名規則に従うCSS変数を使用してアクセスできます。例えば、--focus-1
、--focus-2
、そして--focus-12
まで同様にアクセスできます。
ほとんどのコンポーネントは、フォーカスのアウトラインの色に--focus-8
を使用します。
すべての色には、ページの背景に重ねて配置したときに視覚的に同じように見えるように設計されたアルファバリアントがあります。これは、色が別の背景に重ねて表示されたときに自然に見えるようにする強力なツールです。数値のカラーステップにはすべて、対応するアルファバリアントがあります。
アルファカラーはRadix Themesコンポーネント内で自動的に使用されます。追加の設定は必要ありません。
Radix ThemesのUIで視覚的な階層を作成するために、いくつかの背景色が使用されています。これらの色は、背景、カード、その他の表面に使用されます。
panelBackground
プロパティは、パネル化された要素がソリッドまたは半透明の背景色を使用するかどうかを制御します。デフォルトのtranslucent
値は、微妙なオーバーレイ効果を作成します。
solid
は、邪魔されない情報を提示したい場合に役立ちます。
Radix Themesの色は、トークンシステムの対応するCSS変数をオーバーライドすることでカスタマイズできます。カラートークンの完全なリストについては、ソースコードを参照してください。
Radix Themesのスタイルの後にCSSが適用されるようにして、優先されるようにしてください。
対応するトークンを再マッピングすることで、特定の色をブランドカラーに置き換えることができます。通常は、テーマアクセントとして使用しているスケールのステップ9をオーバーライドします。
この例では、ソリッドカラーのインディゴ
コンポーネントは、カスタムカラーを参照するようになります。
カスタムカラーパレットツールを使用して、いくつかの基準色に基づいてカスタムパレットを生成できます。結果に満足したら、生成されたCSSをプロジェクトに貼り付けます。生成された色の名前を、テーマで使用するアクセントに合わせて変更できます。
ダークテーマの色を生成するには、外観を切り替えてダークテーマを使用します。生成されたCSSを、ライトテーマの色のオーバーライドの後に貼り付けてください。
使用したい色合いを参照するために、一般的な色の名前を使用することを好むかもしれません。例えば、クリムゾン
、ジェイド
、インディゴ
をそれぞれ赤
、緑
、青
と呼ぶのが一般的です。
この場合、Radix Themesのトークンを互いに置き換えて再マッピングし、使用したい色の名前を再利用できます。
この例では、Radix Themesのコンポーネントとトークンで赤
の色を使用すると、元のルビー
のスケールを参照するようになります。
色の定義は、Radix Themesが出荷するCSS全体のサイズの約20%を占めています。
CSSバンドルのサイズを削減し、使用する色だけにアクセスしたい場合は、各カラーモジュールの個別のCSSファイルをインポートできます。サンプル設定は次のとおりです。
インポートしなかった色は、Reactのcolor
プロパティで引き続き受け入れられることに注意してください。また、開発ツールがインポートされたCSSファイルの順序を保持するようにしてください。