Skip to main content

カラーシステム

最終更新日:

Frutjam のカラー システムは、すぐに WCAG AA コントラスト比を満たすように設計されたセマンティック CSS トークンを使用します。 JavaScript なし、ダークモード対応、Tailwind CSS v4 と互換性あり。 Django、HTMX、Laravel、および CSS のみのスタックで動作します。

Frutjam は、すべての色のデザイン トークンとして CSS カスタム プロパティを使用します。すべての色はテーマごとに定義され、Tailwind CSS ユーティリティ クラスと自動的に連携するため、追加の構成は必要ありません。 CSS のみ。JavaScript は必要ありません。 WCAG AA コントラストはすべての色のペアで保証されており、Django、HTMX、Laravel、React、およびあらゆる Tailwind CSS v4 プロジェクトで動作します。

色の名前

Frutjam は、次のセマンティックな色の役割を定義します。それぞれの色には相性があります on-{color} アクセス可能な前景テキストのトークン。

色トークン目的
ベース--color-baseページの背景
中性--color-neutralサーフェス、サイドバー、オーバーレイ
主要な--color-primaryブランドのメインカラー
二次的--color-secondary二次ブランドカラー
アクセント--color-accentアクセント/ハイライトカラー
情報--color-info情報メッセージ
成功--color-success成功状態
警告--color-warning警告状態
エラー--color-errorエラー状態と破壊状態

カラー スケール (50 ~ 950)

各色は 11 段階のスケールを生成し、ルート テーマ変数から次のように計算されます。 color-mix() ビルド時ではなくOKLCHで。ブランドカラーを設定すると、それに基づいて 11 のステップがすべて実行されるため、手動で設定する必要はありません。

各ステップは、CSS 変数と Tailwind ユーティリティを同時に使用します。 var(--color-primary-700) 独自の CSS 内、または bg-primary-700 マークアップで。見本にカーソルを置くと、両方の名前が表示されます。

Colour50100200300400500600700800900950
primaryprimary 50primary 100primary 200primary 300primary 400primary 500primary 600primary 700primary 800primary 900primary 950
secondarysecondary 50secondary 100secondary 200secondary 300secondary 400secondary 500secondary 600secondary 700secondary 800secondary 900secondary 950
accentaccent 50accent 100accent 200accent 300accent 400accent 500accent 600accent 700accent 800accent 900accent 950
infoinfo 50info 100info 200info 300info 400info 500info 600info 700info 800info 900info 950
successsuccess 50success 100success 200success 300success 400success 500success 600success 700success 800success 900success 950
warningwarning 50warning 100warning 200warning 300warning 400warning 500warning 600warning 700warning 800warning 900warning 950
errorerror 50error 100error 200error 300error 400error 500error 600error 700error 800error 900error 950
neutralneutral 50neutral 100neutral 200neutral 300neutral 400neutral 500neutral 600neutral 700neutral 800neutral 900neutral 950
basebase 50base 100base 200base 300base 400base 500base 600base 700base 800base 900base 950

ステップはハードコーディングされているのではなくテーマから計算されるため、このグリッドは Frutjam の色の図ではありません。それはあなたの色です。テーマを切り替えると、上のすべてのスウォッチがそれに合わせて移動します。テーマの横に 16 進数の値が印刷されないのもそのためです。

Light tint, dark text
Dark shade, light text
Border and text
html
1
2
3
<div class="bg-primary-100 text-primary-900 p-4 rounded">Light tint, dark text</div>
<div class="bg-success-700 text-success-50 p-4 rounded">Dark shade, light text</div>
<div class="border-2 border-error-400 text-error-600 p-4 rounded">Border and text</div>
CSS変数説明
--color-{color}-50明るい色合いの 80%、カラーの 20%
--color-{color}-10065% ライト、35% カラー
--color-{color}-20050% ライト、50% カラー
--color-{color}-30035% ライト、65% カラー
--color-{color}-40018% ライト、82% カラー
--color-{color}-500色自体は同じです --color-{color}
--color-{color}-60018% の暗い色合い、82% のカラー
--color-{color}-70034% ダーク、66% カラー
--color-{color}-80050% ダーク、50% カラー
--color-{color}-90065% ダーク、35% カラー
--color-{color}-95080% ダーク、20% カラー

カラーユーティリティクラス

Frutjam のすべてのカラーは、Tailwind CSS カラー ユーティリティで機能します。交換する {color} 上の表の任意の色の名前を使用し、必要に応じて 50 ~ 950 スケールのステップを続けます。 bg-primary, bg-primary-100, text-error-900, border-success-300.

クラス説明
bg-{color}背景色
text-{color}文字の色
border-{color}枠線の色
ring-{color}リングカラー
outline-{color}輪郭の色
shadow-{color}影の色
fill-{color}SVGの塗りつぶし色
stroke-{color}SVG ストロークの色
decoration-{color}文字装飾色
caret-{color}入力キャレットの色
placeholder-{color}プレースホルダーのテキストの色
divide-{color}区切り線の境界線の色
{utility}-{color}-{step}スケール ステップでの上記のいずれか。たとえば、 bg-accent-200
Primary background
Secondary background
Primary border and text
html
1
2
3
<div class="bg-primary text-on-primary p-4 rounded">Primary background</div>
<div class="bg-secondary text-on-secondary p-4 rounded">Secondary background</div>
<div class="border border-primary text-primary p-4 rounded">Primary border and text</div>

不透明度修飾子

色の不透明度を制御します。 /{value} 他の Tailwind カラーと同様に、修飾子です。

10% primary background
20% primary background
60% opacity text
html
1
2
3
<div class="bg-primary/10 text-primary p-4 rounded">10% primary background</div>
<div class="bg-primary/20 text-primary p-4 rounded">20% primary background</div>
<div class="text-on-base/60 p-4">60% opacity text</div>

ソフト&アクティブ

インタラクティブ要素の状態を認識するバリアント。明るいテーマと暗いテーマに自動的に適応します。

CSS変数説明
--color-{color}-softソフトなバリエーションの微妙な色合いの背景
--color-on-{color}-soft柔らかい背景で使用するためのテキストの色
--color-{color}-activeホバー状態およびアクティブ状態の暗く/明るくされたシェード
--color-body計算された本文のテキストの色 (元の色からわずかに柔らかくなります) on-base)

テーマの CSS 変数

これらは、カスタム テーマの作成時に定義するルート トークンです。他のすべてのカラー トークンはこれらから自動的に計算されます。

CSS変数説明
--scheme-color配色: light または dark
--border-radiusコンポーネントの基本境界半径
--color-baseページの背景色
--color-on-baseベースの背景のデフォルトのテキストの色
--color-neutralニュートラルな表面色
--color-on-neutralニュートラルな表面上のテキストの色
--color-primaryブランドのメインカラー
--color-on-primaryプライマリ背景のテキストの色
--color-secondary二次ブランドカラー
--color-on-secondary二次背景のテキストの色
--color-accentアクセントカラー
--color-on-accentアクセント背景の文字色
--color-info情報の色
--color-on-info情報背景のテキストの色
--color-success成功の色
--color-on-success成功の背景のテキストの色
--color-warning警告色
--color-on-warning警告背景の文字の色
--color-errorエラーの色
--color-on-errorエラー背景のテキストの色

カスタムテーマの例

ルート トークンをオーバーライドしてカスタム テーマを作成します。 Frutjam はすべてのスケールと状態を自動的に計算します。

css
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
@import "tailwindcss";
@plugin "frutjam";

[data-theme="mytheme"] {
  --scheme-color: light;
  --border-radius: 0.5rem;

  --color-base: oklch(98% 0 0);
  --color-on-base: oklch(15% 0 0);

  --color-neutral: oklch(20% 0 0);
  --color-on-neutral: oklch(98% 0 0);

  --color-primary: oklch(55% 0.25 260);
  --color-on-primary: oklch(98% 0 0);

  --color-secondary: oklch(60% 0.20 320);
  --color-on-secondary: oklch(98% 0 0);

  --color-accent: oklch(65% 0.22 180);
  --color-on-accent: oklch(15% 0 0);

  --color-info: oklch(68% 0.17 237);
  --color-on-info: oklch(15% 0 0);

  --color-success: oklch(75% 0.20 150);
  --color-on-success: oklch(15% 0 0);

  --color-warning: oklch(82% 0.19 90);
  --color-on-warning: oklch(15% 0 0);

  --color-error: oklch(58% 0.24 27);
  --color-on-error: oklch(98% 0 0);
}

Found this useful?

Star Frutjam on GitHub. It's how other developers discover it.