CSSツール

無料 CSS light-dark()関数ジェネレーター

変数の重複なしでダークモード用のcolor-schemeとlight-dark()ルールを生成します。

ツールを読み込み中...

CSS light-dark()関数ジェネレーターとは

CSSのlight-dark()関数は2つのカラー値を受け取り、color-schemeプロパティに基づいて自動的に1つ目をライトモード、2つ目をダークモードに選択します。これにより、基本的なダークモードサポートのために重複したCSSカスタムプロパティブロックやJavaScriptのテーマ切り替えが不要になります。

クイックアンサー

CSSのlight-dark()関数は、現在のカラースキームに基づいて2つのカラー値のいずれかを返すため、CSSルールを複製せずにライトモードとダークモードを簡単にサポートできます。

Last updated: 2026-05-25

制限事項

  • light-dark()は、color-schemeプロパティがドキュメントまたは要素に設定されている場合にのみ機能します。設定されていないと、関数は最初の色をデフォルトとして使用します。
  • この関数は正確に2つのカラー値(ライト用とダーク用)を受け入れます。複雑なテーマ切り替えには、引き続きカスタムプロパティまたはメディアクエリが必要です。
  • 古いブラウザはlight-dark()をサポートしません。プロパティ宣言でlight-dark()関数の前にフォールバックカラーを提供してください。

Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub

使い方

  1. テキストカラーや背景など、テーマ設定するカラープロパティを選択します。
  2. 各プロパティにライトカラーとダークカラーを入力します。
  3. ツールがcolor-scheme宣言とlight-dark()関数呼び出しを生成します。
  4. CSSをコピーし、color-schemeのmetaタグをページのheadに追加します。

主な用途

  • JavaScriptなしで静的サイトに基本的なダークモードを追加する。
  • テキスト、背景、ボーダーにライトとダークのカラーペアを作成する。
  • テーマの一貫性のためにlight-dark()を使用した小さなデザイントークンシステムを構築する。

用途

使用例

静的ブログのダークモード

静的ブログがルート要素にcolor-scheme: light darkを追加し、本文テキストにlight-dark(#333, #eee)を使用します。訪問者のシステム設定に基づいてダークモードが自動的に有効になります。

ツールサイトのカードテーマ設定

ツールサイトがlight-dark()をカードの背景とボーダーに使用し、個別の変数定義なしで両方のカラースキームが正しくレンダリングされるようにします。

よくあるミス

  • light-dark()カラーペアを提供せずにcolor-schemeのみを設定する。
  • ルート要素にcolor-schemeを設定せずにlight-dark()を使用する。
  • すべてのテーマ要素でライトモードとダークモードの両方をテストするのを忘れる。

検証

  1. DevToolsのRenderingパネルまたはOS設定を使用してページをライトモードとダークモード間で切り替え、色が正しく切り替わることを確認します。
  2. light-dark()をサポートしないブラウザでテストし、フォールバックカラーが適用されることを確認します。

FAQ

CSS light-dark()関数ジェネレーターのFAQ

light-dark()はすべてのブラウザで動作しますか?

Chrome 123以上、Edge 123以上、Safari 17.5以上、Firefox 120以上です。古いブラウザ向けに、最初にライトモードカラーを宣言してフォールバックを提供してください。

light-dark()はCSSカスタムプロパティを置き換えられますか?

基本的なケースは処理できますが、多くのカラートークンを持つ複雑なデザインシステムにはカスタムプロパティの方が適しています。

light-dark()はどのようにユーザーのカラースキームを検出しますか?

ブラウザはオペレーティングシステムまたはブラウザ設定からprefers-color-schemeメディアクエリを読み取ります。ユーザーがライトテーマを選択している場合、light-dark(A, B)はAを返します。ダークテーマの場合はBを返します。検出は自動でJavaScriptは不要です。この関数はカラープロパティ内でのみ使用でき、カラー以外の値には使用できません。

light-dark()をサポートしないブラウザ向けの正しいフォールバックパターンは?

最初にライトモードカラーを宣言し、次に別の宣言でlight-dark()を使用します。color: #333; color: light-dark(#333, #eee);。light-dark()をサポートするブラウザは2番目の宣言を使用します。古いブラウザは未知の関数を無視して最初の値を保持します。このパターンは、機能検出やJavaScriptなしで自動的なグレースフルデグラデーションを提供します。

関連ツール

その他のcssツール

こちらもお試しください

こちらもお試しください