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

Gradientes mesh em SVG: o que funciona hoje

Podes escrever um elemento meshgradient, e o Inkscape até cria um por ti, mas os navegadores não desenham nada. Estas são as técnicas que dão o mesmo visual suave e multicolor e que realmente se desenham.

GradientlyConta Gradiently verificada·1 de outubro de 2026·6 min de leitura
Capa: Mistral Etching · GR·ZP4J·V6

A versão curta

  • O elemento meshgradient foi proposto nos rascunhos do SVG 2, mas nenhum navegador importante o implementou, e não faz parte do padrão publicado que os navegadores seguem.
  • O Inkscape consegue criar gradientes mesh, e as suas exportações dependem de um polyfill em JavaScript para se desenharem nos navegadores.
  • A forma mais fiável de obter um visual mesh em SVG é com algumas formas coloridas suavizadas com feGaussianBlur, ou vários gradientes radiais empilhados com margens transparentes.
  • Uma imagem raster exportada de uma ferramenta de design é a opção mais simples quando o gradiente nunca precisa de mudar, e o WebP ou o PNG mantêm-na leve.
  • Seja qual for o método, acrescenta um grão leve por cima do resultado para esconder o banding nas transições suaves.
Nesta página
O que aconteceu ao meshgradientMétodo 1: formas desfocadasMétodo 2: gradientes radiais empilhadosMétodo 3: exportar um rasterEscolher o método certo

Um verdadeiro gradiente mesh em SVG não funciona hoje nos navegadores. O elemento <meshgradient> apareceu nos rascunhos do SVG 2, onde as cores ficam nos cantos de uma grelha de remendos e se misturam ao longo de cada um, mas o Chrome, o Safari e o Firefox nunca o lançaram. Para obter o visual suave e multicolor a que as pessoas se referem como gradiente mesh, constrói-lo a partir de coisas que se desenham: formas desfocadas, gradientes radiais empilhados, uma imagem raster ou um shader.

O que aconteceu ao meshgradient

O elemento mesh fez parte dos rascunhos de trabalho do SVG 2 durante vários anos. Descrevia uma superfície como filas de remendos de Coons, cada remendo com quatro cores nos cantos e margens curvas, que é como funcionam as malhas de gradiente em software de ilustração. Os fabricantes de navegadores não o implementaram, e a funcionalidade ficou de fora da versão do SVG 2 que avançou. Se colares marcação mesh numa página, o navegador ignora-a e preenche a forma com nada, ou com uma cor de recurso, se definires uma.

Não se desenha nos navegadores

  • <meshgradient> com <meshrow> e <meshpatch>
  • Malhas de gradiente do Illustrator guardadas como SVG vivo
  • Mesh do Inkscape exportado sem o seu polyfill
  • Padrões <hatch>, do mesmo rascunho

Desenha-se em todo o lado

  • Formas desfocadas com feGaussianBlur
  • Vários preenchimentos <radialGradient>, empilhados
  • Uma imagem PNG ou WebP incorporada
  • Pilhas radiais em CSS ou uma tela WebGL

O Inkscape é a exceção notável do lado da criação. A sua ferramenta mesh produz marcação mesh verdadeira e, quando guardas para a web, pode incluir um pequeno polyfill em JavaScript que desenha o mesh ao carregar. Funciona, mas estás a enviar um script para pintar um fundo, e não se desenhará em sítios que não executam scripts, como uma etiqueta <img> ou muitos clientes de email.

Método 1: formas desfocadas

É a coisa mais próxima de um mesh em SVG puro. Coloca três a cinco círculos ou elipses preenchidos onde queres cada cor e depois desfoca o grupo com intensidade. O desfoque mistura as cores vizinhas umas nas outras exatamente como um mesh faz, e podes mover cada mancha de forma independente.

html
<svg viewBox="0 0 1200 800" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid slice">
  <defs>
    <filter id="soften" x="-50%" y="-50%" width="200%" height="200%">
      <feGaussianBlur stdDeviation="120" />
    </filter>
  </defs>
  <rect width="1200" height="800" fill="#0f0b1e" />
  <g filter="url(#soften)">
    <circle cx="260" cy="200" r="260" fill="#7c3aed" />
    <circle cx="900" cy="160" r="240" fill="#f472b6" />
    <ellipse cx="760" cy="640" rx="360" ry="220" fill="#0ea5e9" />
    <circle cx="200" cy="700" r="200" fill="#312e81" />
  </g>
</svg>
Aumenta a região do filtro para que o desfoque não seja cortado nas margens das formas. Um stdDeviation de cerca de um décimo da largura da tela dá um ar de mesh.
Pré-visualizações de três disposições de manchas desfocadas. A primeira é o SVG acima; as cores ficam onde ficam as manchas.

O desfoque não é grátis. Um feGaussianBlur grande é recalculado sempre que o SVG se redesenha, por isso usa-o em fundos estáticos e não em algo que se desloque ou anime. Para a mesma ideia feita inteiramente em CSS, vê gradientes desfocados.

Método 2: gradientes radiais empilhados

Cada <radialGradient> pode esbater de uma cor para transparente. Preenche vários retângulos de tamanho total, um por gradiente, e sobrepõem-se num mesh. Não há filtro envolvido, por isso é mais leve de desenhar do que o desfoque e mantém-se nítido a qualquer ampliação.

html
<svg viewBox="0 0 1200 800" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none">
  <defs>
    <radialGradient id="a" cx="0.2" cy="0.25" r="0.6">
      <stop offset="0" stop-color="#7c3aed" />
      <stop offset="1" stop-color="#7c3aed" stop-opacity="0" />
    </radialGradient>
    <radialGradient id="b" cx="0.8" cy="0.2" r="0.55">
      <stop offset="0" stop-color="#f472b6" />
      <stop offset="1" stop-color="#f472b6" stop-opacity="0" />
    </radialGradient>
    <radialGradient id="c" cx="0.6" cy="0.85" r="0.65">
      <stop offset="0" stop-color="#0ea5e9" />
      <stop offset="1" stop-color="#0ea5e9" stop-opacity="0" />
    </radialGradient>
  </defs>
  <rect width="1200" height="800" fill="#0f0b1e" />
  <rect width="1200" height="800" fill="url(#a)" />
  <rect width="1200" height="800" fill="url(#b)" />
  <rect width="1200" height="800" fill="url(#c)" />
</svg>
Esbate para a mesma cor com opacidade zero em vez de transparent, o que mantém as margens limpas em todos os renderizadores de SVG, incluindo os mais antigos.

Isto traduz-se quase um para um em CSS, que costuma ser a melhor casa para ele. Gradientes mesh em CSS mostra as mesmas camadas com radial-gradient() e explica como controlar onde as cores se sobrepõem. A versão SVG justifica-se quando o fundo tem de viajar como ficheiro, como numa transferência ou num recurso de um sistema de design. Há mais sobre elementos de gradiente em gradientes SVG.

Radiais empilhados, versão CSSradial-gradient(circle at 20% 25%, #7c3aed 0%, transparent 48%), radial-gradient(circle at 80% 20%, #f472b6 0%, transparent 44%), radial-gradient(circle at 60% 85%, #0ea5e9 0%, transparent 52%), linear-gradient(#0f0b1e, #0f0b1e)
O SVG acima escrito como um só fundo CSS. Copia-o se o gradiente só viver numa página web.

Método 3: exportar um raster

Se desenhaste uma verdadeira malha de gradiente numa ferramenta de ilustração e ela nunca precisa de mudar, exporta-a como imagem. Um mesh de 1920×1080 comprime bem em WebP e mantém-se suave em PNG; podes incorporá-lo com um elemento SVG <image> ou usá-lo como fundo CSS. Perdes a independência de resolução, mas manténs todas as curvas da malha original.

Acrescenta grão antes de exportar

As transições suaves do mesh formam banding com facilidade depois de comprimidas. Uma camada leve de ruído, como a de SVG feTurbulence, esconde os degraus e mantém os ficheiros com tamanhos razoáveis.

Escolher o método certo

Formas desfocadas

Ficheiro

SVG minúsculo

Escala

Sim

Ideal para

Manchas orgânicas e em movimento, fundos estáticos
Radiais empilhados

Ficheiro

SVG minúsculo ou CSS

Escala

Sim

Ideal para

Fundos web rápidos e nítidos
Exportação raster

Ficheiro

Imagem média

Escala

Não

Ideal para

Meshes exatos de ferramentas de ilustração
Inkscape com polyfill

Ficheiro

SVG e script

Escala

Sim

Ideal para

Utilizadores do Inkscape que precisam de remendos verdadeiros
Shader WebGL

Ficheiro

Script

Escala

Sim

Ideal para

Superfícies animadas, iluminadas e interativas
MétodoFicheiroEscalaIdeal para
Formas desfocadasSVG minúsculoSimManchas orgânicas e em movimento, fundos estáticos
Radiais empilhadosSVG minúsculo ou CSSSimFundos web rápidos e nítidos
Exportação rasterImagem médiaNãoMeshes exatos de ferramentas de ilustração
Inkscape com polyfillSVG e scriptSimUtilizadores do Inkscape que precisam de remendos verdadeiros
Shader WebGLScriptSimSuperfícies animadas, iluminadas e interativas
Os cinco dão um visual mesh. Só o polyfill desenha remendos mesh verdadeiros, e só o shader se move a baixo custo.
  1. 1

    Escolhe três a cinco cores

    Tons vizinhos misturam-se com limpeza. Os opostos encontram-se num meio turvo, como explica gradientes turvos.

  2. 2

    Coloca cores, não paragens

    Decide onde vive cada cor na tela. É essa a diferença toda entre um mesh e um gradiente linear.

  3. 3

    Deixa uma zona calma

    Mantém uma região perto da cor de fundo onde vai ficar um título.

  4. 4

    Termina com grão

    Um pouco de ruído faz a superfície parecer deliberada e esconde o banding.

Quando queres um fundo de estilo mesh sem o construir à mão, um Mark do Gradiently é uma receita de cores, luz, material e grão que se desenha em direto em qualquer tamanho, mantém a sua zona mais calma por trás das tuas palavras e exporta-se com o Pro em PNG, SVG ou PDF. Para meshes animados num site, os gradientes com shader são o passo seguinte.

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

Os navegadores suportam gradientes mesh em SVG?

Não. O elemento meshgradient foi proposto para o SVG 2, mas nenhum navegador importante o implementou, por isso não desenha nada sem um polyfill em JavaScript.

Como faço um gradiente mesh em SVG que funcione?

Desfoca alguns círculos coloridos com feGaussianBlur, ou empilha vários preenchimentos radialGradient que esbatem para transparente. Ambos se desenham em todos os navegadores.

Posso usar gradientes mesh do Inkscape num site?

Sim, se incluíres o polyfill em JavaScript que o Inkscape pode acrescentar ao guardar. Sem ele, os navegadores ignoram o mesh, e não funciona dentro de uma etiqueta img.

Um gradiente mesh em CSS é melhor do que em SVG?

Para um fundo que só vive numa página web, as pilhas radiais em CSS são mais simples. O SVG é melhor quando o gradiente tem de existir como ficheiro autónomo.

Porque é que o meu gradiente SVG desfocado tem arestas duras?

A região do filtro está a cortar o desfoque. Aumenta-a com x="-50%" y="-50%" width="200%" height="200%" no elemento filter.

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

O que aconteceu ao meshgradientMétodo 1: formas desfocadasMétodo 2: gradientes radiais empilhadosMétodo 3: exportar um rasterEscolher o método certo

Partilhar este guia

A seguir em CSS e web

Gradientes no modo escuro: manter a profundidade sem ofuscar

Continua a ler

Todos os guias de CSS e web
Gradientes

Gradientes de malha: o que são e como fazer um

6 min de leitura

Os gradientes de malha são os campos de cor suaves e à deriva por trás de metade das páginas de lançamento que viste este ano. Eis como funcionam, como construir um à mão e os dois erros que estragam a maioria.

CSS e web

Gradiente de malha em CSS: como o criar com camadas radiais

6 min de leitura

Não há mesh-gradient() em CSS. Eis o método de camadas que imita um de forma convincente, o desfocado e o grão que o acabam e quando uma imagem ou um shader é a melhor opção.

CSS e web

Gradientes SVG: lineares, radiais, contornos, texto e máscaras

6 min de leitura

O SVG tem o seu próprio sistema de gradientes, mais antigo do que os gradientes CSS e capaz de coisas que eles não conseguem: colorir um contorno, preencher uma palavra, partilhar um gradiente por várias formas e esbater qualquer coisa com uma máscara.

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