Renk seçiciye geç

Tailwind CSS renkleri: v4 OKLCH paleti, özel renkler ve kademeler

Tailwind CSS v4, her biri 50’den 950’ye 11 kademeli 26 renk skalasıyla gelir; toplam 286 renk OKLCH ile, --color-blue-500 gibi CSS değişkenleri olarak tanımlanmıştır. Kendi renklerinizi @theme { --color-brand-500: oklch(...) } ile eklersiniz. Aynı kademe numarası aynı açıklık anlamına gelmez: blue-600 beyaz üzerinde 4,5:1’i geçen en açık mavidir, yellow ise 700’e ihtiyaç duyar.

6 dk okuma

Tailwind renk paleti nasıl yapılandırılmıştır

Tailwind v4.3’teki varsayılan palette 26 adlandırılmış skala var. On yedisi kromatik: red, orange, amber, yellow, lime, green, emerald, teal, cyan, sky, blue, indigo, violet, purple, fuchsia, pink ve rose. Dokuzu nötr: v3’ten gelen slate, gray, zinc, neutral ve stone ile v4 sürecinde eklenen mauve, olive, mist ve taupe. Bunlara siyah ve beyaz da eklenir.

Her skalada aynı 11 kademe bulunur: 50, 100, 200’den 900’e kadar ve 950. 50 neredeyse beyaz, 950 neredeyse siyahtır. Bir sınıf utility, renk ve kademeden oluşur: bg-blue-500, text-rose-700, border-zinc-200.

Kademe numarası bir açıklık değeri değil, skaladaki bir konumdur. 500 kademesi gray’de %55,1 OKLCH açıklığından yellow’da %79,5’e kadar değişir; bu yüzden yellow-500 ve blue-500 metin rengi olarak çok farklı davranır.

SınıfOKLCH değeriHex yedeğiBeyaz üzerinde kontrast
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

Tailwind mavisi: OKLCH, hex ve kontrastla her kademe

Aşağıda Tailwind v4’ün tanımladığı haliyle tam mavi skala var. Hex sütunu, açıklık ve ton korunup kroma düşürülerek bulunan en yakın sRGB rengidir. Kontrast oranları bu hex üzerinden ölçülmüş WCAG 2 değerleridir.

Blue-600, beyaz üzerinde gövde metni için 4,5:1’i geçen ilk kademedir. Blue-500 siyah üzerinde 5,58:1 ile geçer, ama beyaz üzerinde 3,76:1 ile kalır. Hiçbir mavi kademe ikisinde birden 4,5:1’i geçmez, bu yüzden açık ve koyu temalar farklı kademeler ister.

SınıfOKLCH değeriHex yedeğiBeyaz üzerindeSiyah üzerinde
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

Hangi Tailwind kademeleri beyaz üzerinde WCAG AA’yı geçer

Geçen en açık kademe tona bağlıdır. Orange, amber, yellow, lime ile green, emerald, teal, cyan ve sky tonları 500’de hâlâ açıktır, bu yüzden gövde metni için 700 gerekir. Red, blue, violet, purple, fuchsia, pink ve rose 600’de, indigo ise daha 500’de geçer. Yellow istisnadır: yellow-600 bile 2,93:1 ile büyük metinde kalır.

Açıklık, sonucu kademe numarasından daha iyi tahmin eder. 286 rengin tamamında OKLCH açıklığı %58’in altındaki her kademe beyaz üzerinde 4,5:1’i geçer, %59,2’nin üzerindeki her kademe kalır. Sınıf değerindeki L’yi okuyun, test etmeden cevabı bilirsiniz.

Renk4.5:1 için en açık kademeHexOran3:1 için en açık kademe
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

Olive dışındaki tüm nötrler 500’de geçer. Olive-500 sarımsı bir tonla %58 açıklıktadır ve yalnızca 4,25:1’e ulaşır, bu yüzden gray-500 ve olive-500 metinler birbirinin yerine kullanılamaz.

Tailwind v3 ile v4 renkleri

v3, renkleri tailwind.config.js içinde theme.extend.colors altında hex değerleri olarak tanımlıyordu. v4 yapılandırmayı CSS’e taşır: renkler @theme içinde OKLCH ile yazılmış tema değişkenleridir ve CSS değişkenleri olarak sunulur, böylece var(--color-blue-500) düz CSS’te ve satır içi stillerde çalışır.

Paletin kendisi yeniden çizilmedi, yalnızca ince ayar yapıldı. OKLCH’ye çevrildiğinde v3 blue-500 (#3b82f6), v4 blue-500 ile tam olarak aynı açıklık ve tona sahiptir. Yalnızca kroma 0,188’den 0,214’e yükseldi. Mavi skalanın geri kalanı da aynı düzeni izler; tek istisna 0,7 puan daha koyulaşan blue-400’dür. Renkler daha canlı görünürken kontrast neredeyse hiç değişmez.

Bu ek kroma sRGB’nin ötesine uzanır. v4’ün 286 renginden 94’ü sRGB dışında ve Display P3 içindedir, hepsi de kromatiktir. Orange’ın 11 kademesinden 9’u dışarıda, blue’nun 4’ü (200’den 500’e). P3 ekranda rengin tamamını görürsünüz, sRGB ekranda ise tarayıcı yakın bir renk gösterir. v4, Safari 16.4, Chrome 111 ve Firefox 128 veya daha yenisini hedefler; hepsi oklch() anlar.

Sınıfv3 hexv4 hex yedeğiKroma v3 → v4Beyaz üzerinde 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);
}

Tailwind v4’te özel renkler nasıl eklenir

@theme içinde --color- ad alanında bir değişken tanımlayın. --color- sonrasındaki kısım sınıf adı olur; --color-brand size bg-brand, text-brand, border-brand, ring-brand ve diğer tüm renk utility’lerini, ayrıca CSS’te var(--color-brand) değerini verir. Hex, rgb(), hsl() ve oklch() değerlerinin hepsi kabul edilir.

Varsayılan paleti genişletmek yerine değiştirmek için önce ad alanını --color-*: initial ile sıfırlayın, sonra yalnızca istediğiniz renkleri tanımlayın. Utility’ler yalnızca gerçekten kullandığınız sınıflar için üretilir, bu yüzden çoğu proje varsayılanları korur.

CSS

@import 'tailwindcss';

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

Tek bir vurgu rengi için tek bir --color-brand yeterlidir. Hover durumlarına, renklendirilmiş arka planlara ya da koyu moda ihtiyaç duyduğunuz anda numaralı kademelerle tam bir skala tanımlayın.

50’den 950’ye tam bir özel skala nasıl oluşturulur

Aşağıdaki skala #e4572e’den üretildi. Bu rengin %63,7’lik açıklığı 500 kademesine denk geldiği için marka rengi tam olarak 500’de kalır. Diğer kademeler Tailwind’in açıklık eğrisini izler ve aynı tonu korur; kroma 500 ve 600’de zirve yapıp iki uca doğru azalır. Hepsi sRGB içine sığdığı için hex değerleri kesindir.

Tailwind’in kendi sıcak tonları gibi bu skala da beyaz üzerinde gövde metni için 600 ister. Brand-500 3,68:1 verir; bu yalnızca büyük metin ve ikonlar için yeterlidir.

SınıfHexBeyaz üzerinde
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);
}

Yapıştırırken tam hassasiyeti koruyun. Açıklığı %0,1’e ve kromayı üç ondalığa yuvarlamak brand-600’ü sRGB’nin hemen dışına iter; bu zararsızdır ama artık hex ile birebir eşleşmez.

bg-blue-500/50 gibi opaklık değiştiricileri nasıl çalışır

Renkten sonra gelen eğik çizgi alfasını belirler: bg-blue-500/50, %50 opaklıktaki blue-500’dür. v3 bunu rgb(59 130 246 / 0.5) olarak derliyordu ve bu yalnızca Tailwind’in kanallara ayırabildiği renklerde çalışıyordu. CSS değişkeni olarak tanımlanan özel renkler için özel bir rgb(var(--brand) / <alpha-value>) biçimi gerekiyordu.

v4, değiştiriciyi Oklab’da color-mix() olarak derler ve rengi transparent ile karıştırır. Bu her renkle çalışır: tema değişkenleri, bg-[#e4572e]/50 gibi keyfi değerler ve kendi CSS değişkenleriniz.

Opaklık kontrastı değiştirir. Beyaz üzerinde blue-500/50 #95bfff, blue-500/10 ise #eaf2ff olarak görünür. blue-600 metin 5,25:1 ile okunur, ama text-blue-600/60 2,62:1’e düşer ve büyük metinde bile kalır.

CSS

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

Herhangi bir hex için en yakın Tailwind sınıfı nasıl bulunur

Hex değerini 286 kademenin hepsiyle Oklab’daki algısal mesafeye (ΔEOK) göre karşılaştırın. Yaklaşık 0,02’nin altında fark yan yana bile zor görülür, bu yüzden Tailwind sınıfı renginizin yerini alabilir. Yaklaşık 0,04’ün üzerinde ise özel bir renk ekleyin.

Tablo gerçek eşleşmeleri gösteriyor. Eski v3 hex değerleri aynı v4 sınıfına geri eşlenirken, #ff5733 gibi tipik bir marka turuncusu orange-600 ile red-400 arasına düşer. PickShade Tailwind sayfası bu aramayı her renk için yapar ve en yakın üç sınıfı gösterir.

RenginizEn yakın v4 sınıfıSınıfın hex yedeğiΔ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

Sorular ve yanıtlar

Tailwind CSS’te kaç renk var?

Tailwind CSS v4.3’te her biri 50’den 950’ye 11 kademeli 26 renk skalası bulunur; bu da siyah ve beyaza ek olarak 286 renk eder. Skalaların on yedisi kromatik, dokuzu nötrdür: slate, gray, zinc, neutral, stone, mauve, olive, mist ve taupe.

Tailwind blue-500’ün hex kodu nedir?

Tailwind v4’te blue-500, sRGB’nin biraz dışında kalan oklch(62.3% 0.214 259.815) değeridir; en yakın hex karşılığı #2b7fff’tir. Tailwind v3’te blue-500 #3b82f6 idi: açıklığı ve tonu aynı, kroması daha düşüktü.

Tailwind v4’te özel renkler nasıl eklenir?

CSS dosyanızda @theme içine --color- ad alanında bir değişken ekleyin, örneğin @theme { --color-brand-500: oklch(63.7% 0.184 36.48); }. Tailwind ardından bg-brand-500, text-brand-500 ve diğer tüm renk utility’lerini üretir; değer var(--color-brand-500) olarak da kullanılabilir.

Hangi Tailwind renkleri beyaz arka planda erişilebilirdir?

Beyaz üzerinde 4,5:1 gövde metni için red, blue, violet, purple, fuchsia, pink ve rose’da 600; orange, amber, yellow, lime, green, emerald, teal, cyan ve sky’da 700; indigo ve çoğu nötrde 500 kullanın. Nötrler arasında istisna olive’dir ve 600 gerektirir.

Tailwind v4 renkleri neden v3’ten daha doygun görünüyor?

Tailwind v4 renkleri OKLCH ile tanımlar ve kromalarını artırdı. Örneğin mavi skalada açıklık ve ton neredeyse tamamen v3’teki gibi kaldı, orta kademelerin kroması ise 0,02 ile 0,03 arasında arttı. 286 rengin 94’ü artık sRGB dışında ve daha geniş Display P3 gamutunu kullanıyor, bu yüzden yeni iPhone ve Mac’ler gibi P3 ekranlarda daha canlı görünür.

Tailwind v4 @theme içinde hex renkler kullanabilir miyim?

Evet. Tema değişkenleri hex, rgb(), hsl() ve oklch() dahil her CSS rengini kabul eder. Opaklık değiştiricileri hepsiyle çalışır, çünkü v4 onları color-mix() ile oluşturur.

PickShade’de deneyin

İlgili rehberler