Por que os gradientes CSS ainda são subutilizados

Introduzidos no CSS3 (2009), os três tipos resolvem problemas visuais diferentes:

  • linear-gradient() — transições ao longo de uma linha reta.
  • radial-gradient() — transições que irradiam de um ponto central.
  • conic-gradient() — transições que varrem ao redor de um ponto central.

Os três compartilham a mesma sintaxe de color stops mas diferem em geometria.

linear-gradient: a base

Um gradiente linear faz a transição de cores ao longo de uma linha reta.

Sintaxe

O argumento de direção controla o ângulo:

ValorÂnguloDireção
to bottom180degCima a Baixo (padrão)
to right90degEsquerda a Direita
to bottom right135degCima-esquerda a Baixo-direita
45deg45degBaixo-esquerda a Cima-direita
0.25turn90degEsquerda a Direita (turn)

Color stops: posições, comprimentos e transições duras

Transições duras se criam colocando dois stops na mesma posição.

red 20% 40% é equivalente a red 20%, red 40%.

O color hint: controle do ponto médio

O color hint desloca o ponto médio de interpolação entre dois stops.

repeating-linear-gradient

repeating-linear-gradient() repete o padrão infinitamente.

Ferramenta gratuita Gerador de Gradiente CSS Crie gradientes lineares, radiais e cônicos visualmente e exporte o CSS instantaneamente.

radial-gradient: circular e elíptico

Um gradiente radial irradia de um ponto central, criando por padrão uma elipse.

Sintaxe

O primeiro argumento controla forma e tamanho. at <posição> move o centro.

Forma e palavras-chave de dimensionamento

A palavra-chave de tamanho define onde o gradiente termina:

  • farthest-corner (padrão) — até o canto mais distante.
  • closest-corner — até o canto mais próximo.
  • farthest-side — até o lado mais distante.
  • closest-side — até o lado mais próximo.

Posicionando o centro

at aceita qualquer valor de posição CSS válido.

Ferramenta gratuita Gerador de Paleta de Cores Gere paletas de cores harmoniosas para projetos de gradiente e mesh gradient.

conic-gradient: o recém-chegado

conic-gradient() foi o último tipo com suporte. Suas transições varrem ao redor de um ponto central.

Sintaxe

<code>from &lt;ângulo&gt;</code> rotaciona o início. <code>at &lt;posição&gt;</code> desloca o centro.

Para que os conic gradients realmente servem

  • Gráficos de pizza — sem JavaScript.
  • Rodas de cores — de hsl(0deg) a hsl(360deg).
  • Padrões angulares — com repeating-conic-gradient.
  • Anéis de progresso — com border-radius: 50%.

repeating-conic-gradient

repeating-conic-gradient() repete o padrão angular.

Padrões avançados

Técnicas além do uso padrão.

Fundos listrados

Gradientes hard-stop com background-size criam listras escaláveis.

Texto gradiente

background: gradiente, -webkit-background-clip: text, color: transparent.

Mesh gradients

Múltiplos radiais sobrepostos. Use o PixCode Color Palette Generator.

Tabuleiro com conic-gradient

repeating-conic-gradient(#000 0% 25%, transparent 0% 50%) com background-size.

Comparação direta

Característicalinear-gradientradial-gradientconic-gradient
Modelo de direçãoLinha retaRadial do centroVarredura angular
Variante repeatingrepeating-linear-gradientrepeating-radial-gradientrepeating-conic-gradient
Color hintSimSimSim
InsetNãoNãoNão
Casos de usoFundos, botõesHolofotes, brilhosPizzas, rodas
Ferramenta gratuita Verificador de Contraste de Cor Verifique a conformidade WCAG AA/AAA para texto em fundos de gradiente.

Considerações de performance

Alguns padrões causam repaints:

GPU-friendly

Gradientes estáticos. Como background-image. Repeating.

Cuidado

Animar color stops. Superfícies grandes com muitos radiais. Texto gradiente pequeno.

Nunca anime background diretamente. Use pseudo-elemento com opacity ou transform.

Acessibilidade e contraste

O texto sobre gradientes deve atender WCAG AA em cada ponto.

Teste no ponto mais claro. Overlay: background: linear-gradient(rgba(0,0,0,0) 0%, rgba(0,0,0,0.6) 100%).

Perguntas frequentes

O que é um gradiente CSS? +
Imagem gerada pelo navegador, independente de resolução.
Diferença entre linear-gradient e radial-gradient? +
linear: linha. radial: do centro. conic: angular ao redor.
Como criar um color stop duro? +
Dois stops na mesma posição: linear-gradient(red 50%, blue 50%).
O que é um color hint? +
Porcentagem entre dois stops que desloca o ponto médio de interpolação.
Animar um gradiente afeta a performance? +
Sim, repaint por frame. Use opacity/transform em pseudo-elemento.
Como criar texto gradiente? +
background: gradiente, -webkit-background-clip: text, color: transparent.
Suporte conic-gradient? +
Chrome 69+, Firefox 83+, Safari 12.1+. Mais de 95% em 2025.