Paleta padrão do Tailwind CSS v4
Tailwind neutral-400: cor #A1A1A1
No Tailwind CSS v4, neutral-400 é definido como --color-neutral-400: oklch(70.8% 0 none), que equivale a #A1A1A1 em hex e rgb(161, 161, 161): um cinza neutro claro. No Tailwind v3, neutral-400 era #A3A3A3.
Em OKLCH, neutral-400 tem luminosidade de 70,8% e croma zero: é um cinza sem matiz.
O valor cabe no sRGB, então o hex #A1A1A1 representa a cor sem perda em qualquer tela.
Na v3, neutral-400 era #A3A3A3. A diferença para a v4 é ΔE OK 0,7, abaixo do limite em que a maioria das pessoas percebe diferença; o valor da v4 é mais escuro.
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-400
| Token do Tailwind v4 | --color-neutral-400 |
|---|---|
| OKLCH (valor de origem) | oklch(70.8% 0 none) |
| HEX | #A1A1A1 |
| RGB | rgb(161, 161, 161) |
| HSL | hsl(0, 0%, 63%) |
| HWB | hwb(0 63% 37%) |
| CMYK (simples, sem perfil ICC) | cmyk(0%, 0%, 0%, 37%) |
| Decimal | 10.592.673 |
| Hex no Tailwind v3 | #A3A3A3 |
| Classes utilitárias | bg-neutral-400, text-neutral-400, border-neutral-400 |
Escala neutral (neutro) do Tailwind
Contraste e acessibilidade
Sobre neutral-400, texto preto tem contraste de 8,12:1 e passa no AAA para qualquer tamanho de texto; texto branco fica em 2,58: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-400 | 8,12:1 | Passa | Passa | Passa | Passa | 53,5 |
| Texto branco sobre neutral-400 | 2,58:1 | Falha | Falha | Falha | Falha | −55,7 |
| Texto neutral-400 sobre branco | 2,58:1 | Falha | Falha | Falha | Falha | 50,5 |
| Texto neutral-400 sobre preto | 8,12:1 | Passa | Passa | Passa | Passa | −51,4 |
Tons claros e escuros
Cada passo mistura var(--color-neutral-400) 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-400), white 25%) no CSS.
Tons claros (misturados com branco)
- 5%
#a6a6a6 - 15%
#afafaf - 25%
#b9b9b9 - 35%
#c2c2c2 - 45%
#cbcbcb - 55%
#d5d5d5 - 65%
#dedede - 75%
#e8e8e8 - 85%
#f1f1f1 - 95%
#fafafa
Tons escuros (misturados com preto)
- 5%
#999999 - 15%
#898989 - 25%
#797979 - 35%
#696969 - 45%
#595959 - 55%
#484848 - 65%
#383838 - 75%
#282828 - 85%
#181818 - 95%
#080808
Harmonias de cor
Girando o matiz em OKLCH e mantendo luminosidade e croma, a complementar de neutral-400 é #A1A1A1 (perto de darkgray), as análogas são #A1A1A1 e #A1A1A1 e a tríade se completa com #A1A1A1 e #A1A1A1. Para texto por cima, preto dá mais contraste.
| Harmonia | Rotação | Cor |
|---|---|---|
| Complementar | +180° | #a1a1a1 |
| Análogas | −30°, +30° | #a1a1a1#a1a1a1 |
| Tríade | +120°, +240° | #a1a1a1#a1a1a1 |
| Complementar dividida | +150°, +210° | #a1a1a1#a1a1a1 |
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-400 é 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-400 text-black">...</div>
<p class="text-neutral-400 border-neutral-400">...</p>.element {
color: var(--color-neutral-400);
background-color: oklch(70.8% 0 none);
border-color: #a1a1a1;
outline-color: rgb(161 161 161);
}import SwiftUI
extension Color {
static let neutral400 = Color(red: 0.631, green: 0.631, blue: 0.631)
}import androidx.compose.ui.graphics.Color
val Neutral400 = Color(0xFFA1A1A1)import 'package:flutter/material.dart';
const neutral400 = Color(0xFFA1A1A1);<!-- res/values/colors.xml -->
<color name="neutral_400">#A1A1A1</color>Perguntas frequentes
- Qual é o código hex de neutral-400 no Tailwind?
- No Tailwind CSS v4, neutral-400 é oklch(70.8% 0 none), que convertido para sRGB dá #A1A1A1 (rgb(161, 161, 161)). No Tailwind v3, o mesmo nome era #A3A3A3.
- Qual a diferença entre neutral-400 na v3 e na v4?
- A v3 usava o hex #A3A3A3; a v4 redefiniu a paleta em OKLCH como oklch(70.8% 0 none). Na v3, neutral-400 era #A3A3A3. A diferença para a v4 é ΔE OK 0,7, abaixo do limite em que a maioria das pessoas percebe diferença; o valor da v4 é mais escuro.
- Como usar neutral-400 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-400). 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-400?
- Texto branco sobre neutral-400 tem contraste de 2,58:1 e não passa no AA nem para texto grande do WCAG 2.2. Texto preto chega a 8,12:1 e passa no AA e no AAA. No APCA, o valor é Lc −55,7 para branco e Lc 53,5 para preto.
- Qual cor nomeada do CSS é mais próxima de neutral-400?
- A mais próxima é darkgray (#A9A9A9), a ΔE OK 2,7, seguida de rosybrown e cadetblue.
Revisado em por Arielton Oberek.