Paleta padrão do Tailwind CSS v4
Tailwind neutral-900: cor #171717
No Tailwind CSS v4, neutral-900 é definido como --color-neutral-900: oklch(20.5% 0 none), que equivale a #171717 em hex e rgb(23, 23, 23): um cinza neutro muito escuro. No Tailwind v3, neutral-900 era #171717.
Em OKLCH, neutral-900 tem luminosidade de 20,5% e croma zero: é um cinza sem matiz.
O valor cabe no sRGB, então o hex #171717 representa a cor sem perda em qualquer tela.
Na v3, neutral-900 era #171717. 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-900
| Token do Tailwind v4 | --color-neutral-900 |
|---|---|
| OKLCH (valor de origem) | oklch(20.5% 0 none) |
| HEX | #171717 |
| RGB | rgb(23, 23, 23) |
| HSL | hsl(0, 0%, 9%) |
| HWB | hwb(0 9% 91%) |
| CMYK (simples, sem perfil ICC) | cmyk(0%, 0%, 0%, 91%) |
| Decimal | 1.513.239 |
| Hex no Tailwind v3 | #171717 |
| Classes utilitárias | bg-neutral-900, text-neutral-900, border-neutral-900 |
Escala neutral (neutro) do Tailwind
Contraste e acessibilidade
Sobre neutral-900, texto branco tem contraste de 17,92:1 e passa no AAA para qualquer tamanho de texto; texto preto fica em 1,17: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-900 | 1,17:1 | Falha | Falha | Falha | Falha | 0,0 |
| Texto branco sobre neutral-900 | 17,92:1 | Passa | Passa | Passa | Passa | −106,9 |
| Texto neutral-900 sobre branco | 17,92:1 | Passa | Passa | Passa | Passa | 104,7 |
| Texto neutral-900 sobre preto | 1,17:1 | Falha | Falha | Falha | Falha | 0,0 |
Tons claros e escuros
Cada passo mistura var(--color-neutral-900) 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-900), white 25%) no CSS.
Tons claros (misturados com branco)
- 5%
#232323 - 15%
#3a3a3a - 25%
#515151 - 35%
#686868 - 45%
#7f7f7f - 55%
#979797 - 65%
#aeaeae - 75%
#c5c5c5 - 85%
#dcdcdc - 95%
#f3f3f3
Tons escuros (misturados com preto)
- 5%
#161616 - 15%
#141414 - 25%
#111111 - 35%
#0f0f0f - 45%
#0d0d0d - 55%
#0a0a0a - 65%
#080808 - 75%
#060606 - 85%
#030303 - 95%
#010101
Harmonias de cor
Girando o matiz em OKLCH e mantendo luminosidade e croma, a complementar de neutral-900 é #171717 (perto de midnightblue), as análogas são #171717 e #171717 e a tríade se completa com #171717 e #171717. Para texto por cima, branco dá mais contraste.
| Harmonia | Rotação | Cor |
|---|---|---|
| Complementar | +180° | #171717 |
| Análogas | −30°, +30° | #171717#171717 |
| Tríade | +120°, +240° | #171717#171717 |
| Complementar dividida | +150°, +210° | #171717#171717 |
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-900 é 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.
Cores nomeadas do CSS mais próximas
| Cor | HEX | ΔE OK |
|---|---|---|
| midnightblue | #191970 | 16,6 |
| navy | #000080 | 19,9 |
| darkslategray | #2f4f4f | 20,2 |
Código
<div class="bg-neutral-900 text-white">...</div>
<p class="text-neutral-900 border-neutral-900">...</p>.element {
color: var(--color-neutral-900);
background-color: oklch(20.5% 0 none);
border-color: #171717;
outline-color: rgb(23 23 23);
}import SwiftUI
extension Color {
static let neutral900 = Color(red: 0.090, green: 0.090, blue: 0.090)
}import androidx.compose.ui.graphics.Color
val Neutral900 = Color(0xFF171717)import 'package:flutter/material.dart';
const neutral900 = Color(0xFF171717);<!-- res/values/colors.xml -->
<color name="neutral_900">#171717</color>Perguntas frequentes
- Qual é o código hex de neutral-900 no Tailwind?
- No Tailwind CSS v4, neutral-900 é oklch(20.5% 0 none), que convertido para sRGB dá #171717 (rgb(23, 23, 23)). No Tailwind v3, o mesmo nome era #171717.
- Qual a diferença entre neutral-900 na v3 e na v4?
- A v3 usava o hex #171717; a v4 redefiniu a paleta em OKLCH como oklch(20.5% 0 none). Na v3, neutral-900 era #171717. 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-900 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-900). 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-900?
- Texto branco sobre neutral-900 tem contraste de 17,92:1 e passa no AA e no AAA do WCAG 2.2. Texto preto chega a 1,17:1 e não passa no AA nem para texto grande. No APCA, o valor é Lc −106,9 para branco e Lc 0,0 para preto.
- Qual cor nomeada do CSS é mais próxima de neutral-900?
- A mais próxima é midnightblue (#191970), a ΔE OK 16,6, seguida de navy e darkslategray.
Revisado em por Arielton Oberek.