Mercado
Preços
Iniciar sessãoComeçar
Guia PráticoCSS e web
CSS e web

Cores do Tailwind: como usar e estender a paleta

A paleta predefinida é um bom ponto de partida e um mau ponto de chegada, porque milhares de sites a partilham. Eis como funcionam as cores do Tailwind na v4 e como juntar as tuas sem estragar nada.

GradientlyConta Gradiently verificada·1 de outubro de 2026·6 min de leitura
Capa: Frost of Tin · GR·0Z1J·NS

A versão curta

  • As cores do Tailwind são famílias com nome, como blue, violet e slate, cada uma com tons de 50, o mais claro, a 950, o mais escuro.
  • No Tailwind v4 cada cor é uma variável CSS como --color-blue-500, definida em OKLCH, e juntas ou substituis cores dentro de um bloco @theme no teu CSS.
  • Qualquer variável a que chames --color-algumacoisa em @theme passa a ser um conjunto completo de utilitários, incluindo bg-algumacoisa, text-algumacoisa e border-algumacoisa.
  • O modificador de opacidade, como em bg-sky-500/50, também funciona com cores personalizadas, porque a v4 mistura a transparência com color-mix().
  • O contraste depende do par, não do número do tom, por isso verifica as combinações de texto e fundo em vez de assumires que 500 sobre branco se lê bem.
Nesta página
Como está organizada a paleta predefinidaUsar as cores do Tailwind no teu códigoJuntar cores personalizadas no Tailwind v4Cores personalizadas no Tailwind v3Contraste: que tons são seguros para textoFaz a paleta ser tua

As cores do Tailwind são um conjunto de famílias com nome, de red a rose, mais um conjunto de cinzentos como slate, gray, zinc, neutral e stone, cada uma com onze tons numerados 50, de 100 a 900 de cem em cem, e 950. Aplicas as cores com utilitários como bg-blue-600, text-slate-900 e border-rose-300. No Tailwind v4 toda a paleta é definida em OKLCH como variáveis CSS, que estendes ou substituis num bloco @theme em vez de um ficheiro de configuração JavaScript.

Como está organizada a paleta predefinida

Todas as famílias seguem a mesma escada. De 50 a 200 são tons claros para fundos e preenchimentos de hover, 300 e 400 são acentos suaves, 500 e 600 são o meio saturado, e de 700 a 950 servem para texto, bordas e superfícies escuras. Como cada família usa os mesmos degraus, trocar blue por violet num componente costuma funcionar sem mais.

A família blue em hex sRGB, da paleta v3. Os valores da v4 estão escritos em OKLCH e são um pouco mais vivos em ecrãs de gama alargada, mas a escada é a mesma.
Cinzentos

Famílias

slate, gray, zinc, neutral, stone

Uso típico

Texto, bordas, superfícies
Quentesred, orange, amber, yellow

Uso típico

Alertas, avisos, energia
Verdeslime, green, emerald, teal

Uso típico

Sucesso, natureza, calma
Azuiscyan, sky, blue, indigo

Uso típico

Ligações, ações principais
Roxos e rosas

Famílias

violet, purple, fuchsia, pink, rose

Uso típico

Acentos, marcas criativas
GrupoFamíliasUso típico
Cinzentosslate, gray, zinc, neutral, stoneTexto, bordas, superfícies
Quentesred, orange, amber, yellowAlertas, avisos, energia
Verdeslime, green, emerald, tealSucesso, natureza, calma
Azuiscyan, sky, blue, indigoLigações, ações principais
Roxos e rosasviolet, purple, fuchsia, pink, roseAcentos, marcas criativas
As famílias predefinidas agrupadas por temperatura. Slate e zinc tendem para o frio, stone para o quente, neutral não tem qualquer tom.

Escolhe um cinzento e fica com ele. Misturar texto gray-500 com bordas slate-200 dá um ar ligeiramente sujo, difícil de nomear e fácil de evitar.

Usar as cores do Tailwind no teu código

Existem utilitários de cor para quase todas as propriedades que aceitam uma cor: bg-*, text-*, border-*, ring-*, fill-*, stroke-*, decoration-*, shadow-*, accent-*, caret-* e as paragens de gradiente from-*, via-* e to-*. Junta uma barra e um número para definir a opacidade.

html
<div class="rounded-xl bg-slate-900 p-6 text-slate-100">
  <p class="text-sm text-slate-400">Status</p>
  <p class="text-2xl font-semibold">All systems normal</p>
  <span class="mt-4 inline-flex rounded-full bg-emerald-500/15 px-3 py-1 text-emerald-300">
    Live
  </span>
</div>

<!-- One off values when nothing in the palette fits -->
<button class="bg-[#0b5c4a] text-[oklch(97%_0.02_160)]">Book a table</button>
Um cartão escuro com uma só família de cinzento mais um acento a 15% de opacidade. Os valores arbitrários entre parênteses retos cobrem a exceção rara.

Na v4, cada tom é também uma variável que podes usar em CSS simples: color: var(--color-slate-400). Isto facilita estilizar widgets de terceiros, SVG ou um canvas com as mesmas cores dos teus utilitários.

Juntar cores personalizadas no Tailwind v4

Na v4 configuras o tema em CSS. Qualquer variável que comece por --color- dentro de @theme passa a ser uma cor, com todos os utilitários gerados para ela. Dá nomes às cores por função ou pela marca e dá-lhes uma escada completa se precisares de tons claros.

css
@import "tailwindcss";

@theme {
  /* A brand ramp on one hue, written in OKLCH */
  --color-ember-50: oklch(97% 0.02 45);
  --color-ember-100: oklch(94% 0.04 45);
  --color-ember-200: oklch(88% 0.07 45);
  --color-ember-300: oklch(80% 0.11 45);
  --color-ember-400: oklch(71% 0.15 45);
  --color-ember-500: oklch(63% 0.17 45);
  --color-ember-600: oklch(55% 0.16 45);
  --color-ember-700: oklch(47% 0.14 45);
  --color-ember-800: oklch(39% 0.11 45);
  --color-ember-900: oklch(31% 0.08 45);
  --color-ember-950: oklch(22% 0.05 45);

  /* Single role colours */
  --color-ink: oklch(18% 0.02 270);
  --color-paper: oklch(98% 0.01 85);
}
Agora bg-ember-500, text-ink, border-ember-200/60 e from-ember-400 existem todos.
A rampa ember acima, convertida em hex. Manter o matiz em 45 e variar a luminosidade mantém todos os tons reconhecivelmente da mesma cor.

Construir a rampa em OKLCH é a razão pela qual isto funciona. A luminosidade em OKLCH corresponde ao brilho que uma cor parece ter, por isso degraus iguais parecem iguais, o que o HSL não garante. OKLCH explicado vai mais fundo, e oklch.com é um bom sítio para experimentar valores.

Substituir a paleta por inteiro

Para remover as predefinições e ficar só com as tuas cores, repõe primeiro o espaço de nomes com --color-*: initial; no topo de @theme. Os utilitários como bg-blue-500 deixam então de existir, o que é uma boa proteção num projeto com uma marca rigorosa.

Cores personalizadas no Tailwind v3

Os projetos mais antigos ainda configuram as cores em JavaScript. Usa extend para juntar cores a par das predefinidas, ou define colors diretamente para as substituir.

js
// tailwind.config.js (v3)
module.exports = {
  theme: {
    extend: {
      colors: {
        ember: {
          50: '#fff1ea',
          500: '#d95f19',
          900: '#502007',
        },
        ink: '#14121f',
      },
    },
  },
}
A forma da v3. Quando atualizares, isto passa para @theme como --color-ember-500 e assim por diante.

Contraste: que tons são seguros para texto

Os números dos tons não são uma escala de contraste. Texto branco sobre blue-600 passa os 4,5:1 que a WCAG pede para texto corrente, enquanto branco sobre blue-500 não passa. Verifica o par real, com os rácios abaixo ou uma ferramenta da WebAIM, e lê contraste de cor e acessibilidade para ver as regras.

slate-900 sobre branco

Contraste

17,85:1

Texto corrente

Passa
gray-500 sobre branco

Contraste

4,83:1

Texto corrente

Passa por pouco
gray-400 sobre branco

Contraste

2,54:1

Texto corrente

Falha
branco sobre blue-600

Contraste

5,17:1

Texto corrente

Passa
branco sobre blue-500

Contraste

3,68:1

Texto corrente

Só texto grande
slate-400 sobre slate-900

Contraste

6,96:1

Texto corrente

Passa
Texto sobre fundoContrasteTexto corrente
slate-900 sobre branco17,85:1Passa
gray-500 sobre branco4,83:1Passa por pouco
gray-400 sobre branco2,54:1Falha
branco sobre blue-6005,17:1Passa
branco sobre blue-5003,68:1Só texto grande
slate-400 sobre slate-9006,96:1Passa
Rácios calculados a partir dos valores hex da v3. Volta a calculá-los para as tuas cores exatas da v4, que diferem ligeiramente.

Faz a paleta ser tua

A paleta predefinida é usada num número enorme de sites, e é por isso que tantos produtos partilham o mesmo botão indigo-600 e o mesmo fundo slate-50. Essa uniformidade é a versão web de porque é que todos os feeds parecem iguais.

Parece todos os outros sites

  • Índigo ou azul predefinido como cor da marca
  • Várias famílias de cinzento misturadas
  • Cor de acento usada em tudo
  • Cores do tema claro reutilizadas no modo escuro

Parece-se contigo

  • Uma rampa personalizada no teu matiz
  • Um cinzento, com tom da cor da marca
  • Acento reservado para ações e um destaque
  • Um conjunto escuro escolhido à parte, vê gradientes para modo escuro
  1. 1

    Escolhe um matiz

    Parte da cor da tua marca e lê o respetivo matiz em OKLCH. Esquemas de cores para sites ajuda se ainda não tens nenhum.

  2. 2

    Constrói a rampa

    Mantém o matiz, varia a luminosidade de cerca de 97% a 22% e baixa o croma nas duas pontas.

  3. 3

    Dá nomes por função

    Junta --color-ink, --color-paper e semelhantes, para os componentes dizerem para que serve uma cor.

  4. 4

    Mantém uma só fonte

    Trata o bloco @theme como os teus design tokens e reutiliza os mesmos valores nos teus gráficos.

O último passo é onde as marcas costumam desviar-se: o site recebe a nova rampa, enquanto os posts e os slides ficam com as cores do ano passado. Um kit de marca do Gradiently guarda as tuas paletas junto com os tipos de letra e os logótipos, por isso o Designer compõe os posts nas mesmas cores do teu tema Tailwind, e um Mark dá à marca um visual de gradiente que nenhum outro site partilha.

Encontra um gradiente só teu

Explora milhares de Marks, cria designs com qualquer um deles gratuitamente e reserva o que parece contigo.

Explorar o Mercado

Perguntas frequentes

Que cores existem por defeito no Tailwind?

Famílias de red, orange, amber e yellow, passando por verdes, azuis, roxos e rosas, até rose, mais cinzentos como slate, gray, zinc, neutral e stone. Cada uma tem tons 50, de 100 a 900 e 950, além de preto e branco.

Como junto cores personalizadas no Tailwind v4?

Define variáveis como --color-brand-500 dentro de um bloco @theme no teu CSS. O Tailwind gera bg-brand-500, text-brand-500 e todos os outros utilitários de cor a partir dela.

O Tailwind usa OKLCH?

Sim. Desde a v4, a paleta predefinida é definida em OKLCH, e podes escrever as tuas cores em OKLCH, hex, RGB ou qualquer outro formato de cor CSS.

Como uso uma cor do Tailwind em CSS simples?

Na v4 usa diretamente a variável, por exemplo var(--color-slate-400). Na v3 usa a função theme(), como theme(colors.slate.400).

Que tons do Tailwind são acessíveis para texto?

Depende do par. Sobre branco, gray-500 e mais escuros passam para texto corrente, e texto branco passa sobre blue-600 mas não sobre blue-500, por isso verifica sempre a combinação concreta.

Partilhar este guia

Escrito pela GradientlyConta Gradiently verificada

A equipa por trás da Gradiently, uma ferramenta de design construída em torno dos Marks: gradientes vivos que fazem tudo o que crias parecer teu.

Ver o nosso perfil

Nesta página

Como está organizada a paleta predefinidaUsar as cores do Tailwind no teu códigoJuntar cores personalizadas no Tailwind v4Cores personalizadas no Tailwind v3Contraste: que tons são seguros para textoFaz a paleta ser tua

Partilhar este guia

A seguir em CSS e web

Gradiente em canvas HTML: linear, radial e cónico

Continua a ler

Todos os guias de CSS e web
Cor

OKLCH explicado: cor percetual para designers

6 min de leitura

O HSL prometeu cor legível e quase cumpriu. O OKLCH mantém a parte legível e corrige a mentira sobre a luminosidade, e é por isso que os sistemas de design estão a mudar para ele.

CSS e web

Gradientes no Tailwind: classes lineares, radiais e cónicas na v4

5 min de leitura

O Tailwind v4 mudou o nome das suas classes de gradiente, juntou ângulos, gradientes radiais e cónicos e passou a mistura por omissão para oklab. Aqui tens o sistema inteiro, com o CSS que cada classe produz.

CSS e web

Design tokens: uma fonte única de verdade para cor e tipografia

5 min de leitura

Uma cor de marca que vive em quarenta ficheiros acaba por divergir. Um token vive num só sítio e todas as plataformas leem a partir dele. Aqui fica como estruturar design tokens, nomeá-los para durarem e entregá-los ao código e às ferramentas de design.

Encontra o visual que é só teu.

Cada Mark é um fundo vivo com um só dono. Experimenta um Mark ainda disponível e reserva o teu quando te parecer certo.

Começar a criar

Verificar um certificado

Escreve um número de certificado ou o código de um Mark para veres quem é o dono.

Funciona com o ChatGPT e o Claude

Pede um design à tua IA. Ela cria-o no teu Mark, pronto a editar.

ChatGPTClaude
Como ligar

Produto

  • Mercado
  • Explorar
  • Preços
  • Certificados

Aprender

  • Guia Prático
  • Centro de ajuda
  • Novidades

Programadores

  • Visão geral
  • ChatGPT e Claude
  • Referência da API
  • Chaves de API

Empresa

  • Sobre nós
  • Contactos
  • Iniciar sessão

Legal

  • Termos
  • Privacidade
  • Reembolsos
  • Proteção de Marks
  • Cookies
  • Todas as políticas
Passa pelas letras. Cada uma veste um Mark real.Toca numa letra para veres o seu Mark.Um nome. Dez Marks lá dentro.
© 2026 Gradiently