Lição 4

Formatos de cor em CSS

Hex, rgb(), hsl(), alpha e funções modernas de cor.

Navegadores aceitam várias sintaxes de cor em CSS. Saber o que sua matriz de suporte permite evita fallbacks silenciosos.

Hex em CSS

.brand {
  color: #2563eb;
  border-color: #2563eb80; /* hex de 8 dígitos com alpha em navegadores modernos */
}

Hex em minúsculas é escolha comum de guia de estilo; o navegador trata #ABC e #abc da mesma forma.

rgb() e hsl() funcionais

Sintaxe legada com vírgula:

background: rgba(37, 99, 235, 0.12);

Sintaxe moderna com espaços (CSS Color Level 4):

background: rgb(37 99 235 / 0.12);
color: hsl(221 83% 53%);

Autoprefixers e minificadores podem normalizar formatos — mantenha tokens de origem consistentes no repositório do design system.

Cores nomeadas e keywords

transparent, currentColor e a longa lista de cores nomeadas (tomato, rebeccapurple) compilam rápido em protótipos. Temas de produção devem preferir tokens em vez de cores nomeadas aleatórias para evitar deriva.

Herança com currentColor

color: currentColor faz ícones e bordas seguirem a cor do texto — útil em botões que mudam de estado sem duplicar hex.

Espaços modernos: oklch e color-mix

CSS mais novo suporta espaços perceptualmente uniformes:

--accent: oklch(58% 0.22 264);
--hover: color-mix(in oklch, var(--accent) 85%, black);

A adoção depende dos alvos de navegador. Stacks de fallback costumam manter hex sRGB primeiro e blocos @supports para temas wide-gamut.

Restrições de e-mail e PDF

Muitos clientes de HTML para e-mail removem hsl() e variáveis. Exporte hex inline para templates mesmo que o app web use variáveis CSS por dentro.

Conclusão

Escolha um formato de autoria para tokens, gere saídas específicas por plataforma no build e documente quais superfícies exigem fallback só em hex.

Voltar à visão geral do curso