Paleta padrão do Tailwind CSS v4
Tailwind neutral-50: cor #FAFAFA
No Tailwind CSS v4, neutral-50 é definido como --color-neutral-50: oklch(98.5% 0 none), que equivale a #FAFAFA em hex e rgb(250, 250, 250): um quase-branco neutro. No Tailwind v3, neutral-50 era #FAFAFA.
Em OKLCH, neutral-50 tem luminosidade de 98,5% e croma zero: é um cinza sem matiz.
O valor cabe no sRGB, então o hex #FAFAFA representa a cor sem perda em qualquer tela.
Na v3, neutral-50 era #FAFAFA. A diferença para a v4 é ΔE OK 0,0, abaixo do limite em que a maioria das pessoas percebe diferença.
O neutral do Tailwind é um cinza puro: o croma OKLCH é zero em todos os tons, então não tem matiz nenhum.
Códigos da cor neutral-50
| Token do Tailwind v4 | --color-neutral-50 |
|---|---|
| OKLCH (valor de origem) | oklch(98.5% 0 none) |
| HEX | #FAFAFA |
| RGB | rgb(250, 250, 250) |
| HSL | hsl(0, 0%, 98%) |
| HWB | hwb(0 98% 2%) |
| CMYK (simples, sem perfil ICC) | cmyk(0%, 0%, 0%, 2%) |
| Decimal | 16.448.250 |
| Hex no Tailwind v3 | #FAFAFA |
| Classes utilitárias | bg-neutral-50, text-neutral-50, border-neutral-50 |
Escala neutral (neutro) do Tailwind
Contraste e acessibilidade
Sobre neutral-50, texto preto tem contraste de 20,11:1 e passa no AAA para qualquer tamanho de texto; texto branco fica em 1,04:1.
Razões de contraste do WCAG 2.2 (critérios 1.4.3 e 1.4.6: AA exige 4,5:1 para texto normal e 3:1 para texto grande; AAA exige 7:1 e 4,5:1). APCA Lc é o contraste de luminosidade do modelo APCA-W3 0.0.98G proposto para o WCAG 3; quanto maior o valor absoluto, mais legível, e Lc 75 é o mínimo sugerido para texto corrido.
| Combinação | Razão | AA | AA grande | AAA | AAA grande | APCA Lc |
|---|---|---|---|---|---|---|
| Texto preto sobre neutral-50 | 20,11:1 | Passa | Passa | Passa | Passa | 103,0 |
| Texto branco sobre neutral-50 | 1,04:1 | Falha | Falha | Falha | Falha | 0,0 |
| Texto neutral-50 sobre branco | 1,04:1 | Falha | Falha | Falha | Falha | 0,0 |
| Texto neutral-50 sobre preto | 20,11:1 | Passa | Passa | Passa | Passa | −104,6 |
Tons claros e escuros
Cada passo mistura var(--color-neutral-50) com branco (tons claros) ou preto (tons escuros) em sRGB com correção gama, o mesmo resultado de color-mix(in srgb, var(--color-neutral-50), white 25%) no CSS.
Tons claros (misturados com branco)
- 5%
#fafafa - 15%
#fbfbfb - 25%
#fbfbfb - 35%
#fcfcfc - 45%
#fcfcfc - 55%
#fdfdfd - 65%
#fdfdfd - 75%
#fefefe - 85%
#fefefe - 95%
#ffffff
Tons escuros (misturados com preto)
- 5%
#eeeeee - 15%
#d5d5d5 - 25%
#bcbcbc - 35%
#a3a3a3 - 45%
#8a8a8a - 55%
#707070 - 65%
#585858 - 75%
#3f3f3f - 85%
#262626 - 95%
#0d0d0d
Harmonias de cor
Girando o matiz em OKLCH e mantendo luminosidade e croma, a complementar de neutral-50 é #FAFAFA (perto de snow), as análogas são #FAFAFA e #FAFAFA e a tríade se completa com #FAFAFA e #FAFAFA. Para texto por cima, preto dá mais contraste.
| Harmonia | Rotação | Cor |
|---|---|---|
| Complementar | +180° | #fafafa |
| Análogas | −30°, +30° | #fafafa#fafafa |
| Tríade | +120°, +240° | #fafafa#fafafa |
| Complementar dividida | +150°, +210° | #fafafa#fafafa |
Calculadas em OKLCH: o matiz gira 180° (complementar), ±30° (análogas), ±120° (tríade) e 180° ±30° (complementar dividida), com luminosidade e croma mantidos. Quando o resultado sai do sRGB, ele é trazido de volta com o algoritmo de mapeamento de gama do CSS Color 4. Por usar OKLCH, os valores diferem das ferramentas que giram o matiz em HSL, mas as cores ficam com a mesma luminosidade percebida.
Quente ou fria?
Tailwind neutral-50 é praticamente neutra: o croma OKLCH é só 0,000, então a temperatura depende do contexto. Não tem matiz perceptível.
Cores nomeadas e do Tailwind mais próximas
A distância é o ΔE OK, a distância euclidiana no OKLab multiplicada por 100. Valores abaixo de cerca de 2 são difíceis de distinguir lado a lado.
Código
<div class="bg-neutral-50 text-black">...</div>
<p class="text-neutral-50 border-neutral-50">...</p>.element {
color: var(--color-neutral-50);
background-color: oklch(98.5% 0 none);
border-color: #fafafa;
outline-color: rgb(250 250 250);
}import SwiftUI
extension Color {
static let neutral50 = Color(red: 0.980, green: 0.980, blue: 0.980)
}import androidx.compose.ui.graphics.Color
val Neutral50 = Color(0xFFFAFAFA)import 'package:flutter/material.dart';
const neutral50 = Color(0xFFFAFAFA);<!-- res/values/colors.xml -->
<color name="neutral_50">#FAFAFA</color>Perguntas frequentes
- Qual é o código hex de neutral-50 no Tailwind?
- No Tailwind CSS v4, neutral-50 é oklch(98.5% 0 none), que convertido para sRGB dá #FAFAFA (rgb(250, 250, 250)). No Tailwind v3, o mesmo nome era #FAFAFA.
- Qual a diferença entre neutral-50 na v3 e na v4?
- A v3 usava o hex #FAFAFA; a v4 redefiniu a paleta em OKLCH como oklch(98.5% 0 none). Na v3, neutral-50 era #FAFAFA. A diferença para a v4 é ΔE OK 0,0, abaixo do limite em que a maioria das pessoas percebe diferença.
- Como usar neutral-50 em CSS puro?
- O Tailwind v4 define cada cor da paleta como variável de tema, então em CSS você escreve var(--color-neutral-50). Por padrão o Tailwind só gera as variáveis que o projeto usa; @theme static gera todas.
- Dá para usar texto branco sobre neutral-50?
- Texto branco sobre neutral-50 tem contraste de 1,04:1 e não passa no AA nem para texto grande do WCAG 2.2. Texto preto chega a 20,11:1 e passa no AA e no AAA. No APCA, o valor é Lc 0,0 para branco e Lc 103,0 para preto.
- Qual cor nomeada do CSS é mais próxima de neutral-50?
- A mais próxima é snow (#FFFAFA), a ΔE OK 0,7, seguida de ghostwhite e mintcream.
Revisado em por Arielton Oberek.