Přejít na výběr barvy

Barvy v Tailwind CSS: paleta v4 v OKLCH, vlastní barvy a stupně

Tailwind CSS v4 obsahuje 26 barevných škál po 11 stupních od 50 do 950, celkem 286 barev definovaných v OKLCH jako proměnné CSS typu --color-blue-500. Vlastní přidáte přes @theme { --color-brand-500: oklch(...) }. Stejné číslo stupně neznamená stejnou světlost: blue-600 je nejsvětlejší modrá, která na bílé projde 4,5:1, kdežto žlutá potřebuje 700.

Čtení na 6 min

Jak je barevná paleta Tailwind uspořádaná

Výchozí paleta v Tailwind v4.3 má 26 pojmenovaných škál. Sedmnáct z nich je barevných: red, orange, amber, yellow, lime, green, emerald, teal, cyan, sky, blue, indigo, violet, purple, fuchsia, pink a rose. Devět je neutrálních: slate, gray, zinc, neutral a stone z v3 a k nim mauve, olive, mist a taupe přidané během v4. Navíc jsou k dispozici black a white.

Každá škála má stejných 11 stupňů: 50, 100, 200 až 900 a 950. Stupeň 50 je téměř bílý, 950 téměř černý. Třída se skládá z utility, barvy a stupně: bg-blue-500, text-rose-700, border-zinc-200.

Číslo stupně je pozice ve škále, ne hodnota světlosti. Stupeň 500 sahá od světlosti 55,1 % v OKLCH u gray po 79,5 % u yellow, a proto se yellow-500 a blue-500 jako barvy textu chovají úplně jinak.

TřídaHodnota OKLCHNáhradní HEXKontrast na bílé
yellow-500oklch(79.5% 0.184 86.047)#efb1001.92:1
amber-500oklch(76.9% 0.188 70.08)#fd9a002.14:1
green-500oklch(72.3% 0.219 149.579)#00c9502.22:1
cyan-500oklch(71.5% 0.143 215.221)#00b8db2.37:1
orange-500oklch(70.5% 0.213 47.604)#ff69002.89:1
red-500oklch(63.7% 0.237 25.331)#fb2c363.81:1
blue-500oklch(62.3% 0.214 259.815)#2b7fff3.76:1
indigo-500oklch(58.5% 0.233 277.117)#615fff4.58:1
gray-500oklch(55.1% 0.027 264.364)#6a72824.84:1

Modrá v Tailwind: každý stupeň s OKLCH, HEX a kontrastem

Tady je celá modrá škála tak, jak ji definuje Tailwind v4. Sloupec HEX obsahuje nejbližší barvu v sRGB, nalezenou snížením chroma při zachování světlosti a tónu. Kontrastní poměry jsou hodnoty WCAG 2 měřené na tomto HEX.

Blue-600 je první stupeň, který na bílé projde 4,5:1 pro běžný text. Blue-500 projde na černé s 5,58:1, ale na bílé s 3,76:1 neprojde. Žádný modrý stupeň nedosáhne 4,5:1 na obou, takže světlý a tmavý motiv potřebují různé stupně.

TřídaHodnota OKLCHNáhradní HEXNa bíléNa černé
blue-50oklch(97% 0.014 254.604)#eff6ff1.09:119.30:1
blue-100oklch(93.2% 0.032 255.585)#dbeafe1.22:117.21:1
blue-200oklch(88.2% 0.059 254.128)#bedbff1.42:114.77:1
blue-300oklch(80.9% 0.105 251.813)#8ec5ff1.81:111.58:1
blue-400oklch(70.7% 0.165 254.624)#51a2ff2.64:17.96:1
blue-500oklch(62.3% 0.214 259.815)#2b7fff3.76:15.58:1
blue-600oklch(54.6% 0.245 262.881)#155dfc5.25:14.00:1
blue-700oklch(48.8% 0.243 264.376)#1447e66.83:13.07:1
blue-800oklch(42.4% 0.199 265.638)#193cb88.82:12.38:1
blue-900oklch(37.9% 0.146 265.522)#1c398e10.37:12.03:1
blue-950oklch(28.2% 0.091 267.935)#16245614.78:11.42:1

Které stupně Tailwind projdou WCAG AA na bílé

Nejsvětlejší vyhovující stupeň závisí na tónu. Orange, amber, yellow, lime a také green, emerald, teal, cyan a sky jsou na stupni 500 ještě světlé, takže pro běžný text potřebují 700. Red, blue, violet, purple, fuchsia, pink a rose projdou na 600, indigo už na 500. Výjimkou je yellow: i yellow-600 s 2,93:1 neprojde ani pro velký text.

Světlost předpovídá výsledek lépe než číslo stupně. Ze všech 286 barev projde 4,5:1 na bílé každý stupeň se světlostí v OKLCH pod 58 % a každý nad 59,2 % neprojde. Stačí přečíst L v hodnotě třídy a výsledek znáte dřív, než ho otestujete.

BarvaNejsvětlejší stupeň pro 4,5:1HEXPoměrNejsvětlejší stupeň pro 3:1
red600#e7000b4.77:1500
orange700#ca35005.22:1600
amber700#bb4d005.03:1600
yellow700#a65f004.93:1700
lime700#497d004.98:1600
green700#0082364.95:1600
emerald700#007a555.36:1600
teal700#00786f5.36:1600
cyan700#0075955.28:1600
sky700#0069a85.86:1600
blue600#155dfc5.25:1500
indigo500#615fff4.58:1400
violet600#7f22fe5.89:1500
purple600#9810fa5.54:1500
fuchsia600#c800de4.66:1500
pink600#e600764.54:1500
rose600#ec003f4.53:1500
gray500#6a72824.84:1500
olive600#5b5b4b6.90:1500

Všechny neutrální škály kromě olive projdou na 500. Olive-500 má světlost 58 % a nažloutlý tón a dosáhne jen 4,25:1, takže text v gray-500 a text v olive-500 nejsou zaměnitelné.

Barvy v Tailwind v3 vs. v4

Verze 3 definovala barvy jako hodnoty HEX v tailwind.config.js pod theme.extend.colors. Verze 4 přesouvá konfiguraci do CSS: barvy jsou proměnné motivu uvnitř @theme, zapsané v OKLCH a dostupné jako proměnné CSS, takže var(--color-blue-500) funguje v obyčejném CSS i v inline stylech.

Samotná paleta byla doladěna, ne překreslena. Po převodu do OKLCH má blue-500 z v3 (#3b82f6) přesně stejnou světlost i tón jako blue-500 z v4. Vzrostla jen chroma, z 0,188 na 0,214. Zbytek modré škály se chová stejně, s výjimkou blue-400, který navíc ztmavl o 0,7 bodu. Kontrast se téměř nezmění, zatímco barvy působí sytěji.

Vyšší chroma přesahuje sRGB. 94 z 286 barev v4 leží mimo sRGB a uvnitř Display P3, všechny jsou barevné. Škála orange má mimo 9 z 11 stupňů, blue 4 (200 až 500). Na obrazovce s P3 vidíte plnou barvu, na obrazovce se sRGB zobrazí prohlížeč blízkou náhradu. Verze 4 cílí na Safari 16.4, Chrome 111 a Firefox 128 nebo novější, které všechny rozumí oklch().

TřídaHEX v3Náhradní HEX v4Chroma v3 → v4Na bílé v3 → v4
blue-400#60a5fa#51a2ff0.143 → 0.1652.54 → 2.64
blue-500#3b82f6#2b7fff0.188 → 0.2143.68 → 3.76
blue-600#2563eb#155dfc0.215 → 0.2455.17 → 5.25
blue-700#1d4ed8#1447e60.217 → 0.2436.70 → 6.83

CSS

@theme {
    --color-blue-500: oklch(62.3% 0.214 259.815);
}

.card {
    border-color: var(--color-blue-500);
}

Jak přidat vlastní barvy v Tailwind v4

Deklarujte proměnnou ve jmenném prostoru --color- uvnitř @theme. Část za --color- se stane názvem třídy, takže --color-brand vám dá bg-brand, text-brand, border-brand, ring-brand a všechny ostatní barevné utility a k tomu var(--color-brand) v CSS. Přijímá se HEX, rgb(), hsl() i oklch().

Pokud chcete výchozí paletu nahradit, a ne rozšířit, nejdřív jmenný prostor vynulujte pomocí --color-*: initial a pak definujte jen barvy, které chcete. Utility se generují jen pro třídy, které skutečně použijete, takže většina projektů výchozí barvy ponechává.

CSS

@import 'tailwindcss';

@theme {
    --color-brand: #e4572e;
    --color-ink: oklch(21% 0.02 260);
}

Jedna --color-brand stačí pro jeden akcent. Jakmile potřebujete stavy při najetí myší, tónovaná pozadí nebo tmavý režim, definujte celou škálu s číslovanými stupni.

Jak sestavit vlastní škálu od 50 do 950

Škála níže byla vygenerována z #e4572e. Její světlost 63,7 % odpovídá stupni 500, takže firemní barva zůstane přesně na 500. Ostatní stupně sledují křivku světlosti Tailwind, drží stejný tón, chroma vrcholí na 500 a 600 a k oběma koncům klesá a všechny se vejdou do sRGB, takže hodnoty HEX jsou přesné.

Stejně jako vlastní teplé škály Tailwind potřebuje i tato škála pro běžný text na bílé stupeň 600. Brand-500 dává 3,68:1, což stačí jen pro velký text a ikony.

TřídaHEXNa bílé
brand-50#fcf3f01.09:1
brand-100#fae4de1.22:1
brand-200#f8cec31.44:1
brand-300#f3ae9a1.85:1
brand-400#ed7d5e2.73:1
brand-500#e4572e3.68:1
brand-600#ce3a004.97:1
brand-700#ae30006.52:1
brand-800#9126008.46:1
brand-900#77260e10.15:1
brand-950#44150815.48:1

CSS

@theme {
    --color-brand-50: oklch(97% 0.01103 36.478);
    --color-brand-100: oklch(93.477% 0.02574 36.478);
    --color-brand-200: oklch(88.485% 0.04964 36.478);
    --color-brand-300: oklch(81.145% 0.08641 36.478);
    --color-brand-400: oklch(71.064% 0.14524 36.478);
    --color-brand-500: oklch(63.723% 0.18385 36.478);
    --color-brand-600: oklch(56.583% 0.19167 36.478);
    --color-brand-700: oklch(49.952% 0.16921 36.478);
    --color-brand-800: oklch(43.729% 0.14814 36.478);
    --color-brand-900: oklch(38.935% 0.11766 36.478);
    --color-brand-950: oklch(27% 0.07538 36.478);
}

Při vkládání zachovejte plnou přesnost. Zaokrouhlení světlosti na 0,1 % a chroma na tři desetinná místa posune brand-600 těsně mimo sRGB, což nevadí, ale přestane to přesně odpovídat HEX.

Jak fungují modifikátory průhlednosti jako bg-blue-500/50

Lomítko za barvou nastaví její alfa kanál: bg-blue-500/50 je blue-500 na 50 %. Verze 3 to kompilovala na rgb(59 130 246 / 0.5), což fungovalo jen u barev, které Tailwind uměl rozložit na kanály. Vlastní barvy definované jako proměnné CSS potřebovaly zvláštní formát rgb(var(--brand) / <alpha-value>).

Verze 4 kompiluje modifikátor na color-mix() v Oklab, kde barvu míchá s transparent. To funguje s jakoukoli barvou: s proměnnými motivu, libovolnými hodnotami jako bg-[#e4572e]/50 i s vašimi vlastními proměnnými CSS.

Průhlednost mění kontrast. Na bílé se blue-500/50 vykreslí jako #95bfff a blue-500/10 jako #eaf2ff. Text v blue-600 má 5,25:1, ale text-blue-600/60 klesne na 2,62:1 a neprojde ani pro velký text.

CSS

.bg-blue-500\/50 {
    background-color: color-mix(in oklab, var(--color-blue-500) 50%, transparent);
}

Jak najít nejbližší třídu Tailwind k jakémukoli HEX

Porovnejte HEX se všemi 286 stupni podle vnímané vzdálenosti v Oklab (ΔEOK). Pod hodnotou zhruba 0,02 je rozdíl vedle sebe těžko vidět, takže třída Tailwind může vaši barvu nahradit. Nad zhruba 0,04 raději přidejte vlastní barvu.

Tabulka ukazuje skutečné shody. Staré hodnoty HEX z v3 se vracejí ke stejné třídě ve v4, kdežto typická firemní oranžová jako #ff5733 padne mezi orange-600 a red-400. Stránka Tailwind v PickShade toto vyhledání udělá pro jakoukoli barvu a ukáže tři nejbližší třídy.

Vaše barvaNejbližší třída v4HEX třídyΔEOK
#635bffindigo-500#615fff0.008
#1da1f2sky-500#00a6f40.020
#10b981emerald-500#00bc7d0.021
#3b82f6blue-500#2b7fff0.026
#e4572eorange-600#f549000.042
#ff5733orange-600#f549000.046

Otázky a odpovědi

Kolik barev má Tailwind CSS?

Tailwind CSS v4.3 má 26 barevných škál po 11 stupních od 50 do 950, což dává 286 barev plus černou a bílou. Sedmnáct škál je barevných a devět neutrálních: slate, gray, zinc, neutral, stone, mauve, olive, mist a taupe.

Jaký je HEX kód barvy blue-500 v Tailwind?

V Tailwind v4 je blue-500 oklch(62.3% 0.214 259.815), což leží těsně mimo sRGB; nejbližší HEX je #2b7fff. V Tailwind v3 byla blue-500 #3b82f6, se stejnou světlostí a tónem, ale nižší chroma.

Jak přidám vlastní barvy v Tailwind v4?

Přidejte proměnnou ve jmenném prostoru --color- uvnitř @theme ve svém CSS, například @theme { --color-brand-500: oklch(63.7% 0.184 36.48); }. Tailwind pak vygeneruje bg-brand-500, text-brand-500 a všechny ostatní barevné utility a hodnota je dostupná jako var(--color-brand-500).

Které barvy Tailwind jsou přístupné na bílém pozadí?

Pro běžný text s 4,5:1 na bílé použijte stupeň 600 u red, blue, violet, purple, fuchsia, pink a rose, 700 u orange, amber, yellow, lime, green, emerald, teal, cyan a sky a 500 u indigo a většiny neutrálních škál. Mezi neutrálními je výjimkou olive, která potřebuje 600.

Proč barvy Tailwind v4 působí sytěji než v3?

Tailwind v4 definuje barvy v OKLCH a zvýšil jejich chroma. Například v modré škále zůstala světlost a tón téměř přesně jako ve v3, zatímco chroma středních stupňů vzrostla o 0,02 až 0,03. 94 z 286 barev teď leží mimo sRGB a využívá širší gamut Display P3, takže na obrazovkách s P3, jako mají novější iPhony a Macy, působí živěji.

Můžu v @theme v Tailwind v4 použít barvy v HEX?

Ano. Proměnné motivu přijímají jakoukoli barvu CSS včetně HEX, rgb(), hsl() a oklch(). Modifikátory průhlednosti fungují se všemi, protože je v4 sestavuje pomocí color-mix().

Vyzkoušejte v PickShade

Související návody