Gradientes SVG - Radial


Gradiente radial SVG - <radialGradient>

O elemento <radialGradient> é usado para definir um gradiente radial.

O elemento <radialGradient> deve ser aninhado dentro de uma tag <defs>. A tag <defs> é a abreviação de definições e contém a definição de elementos especiais (como gradientes).


Exemplo 1

Defina uma elipse com um gradiente radial de branco para azul:

Sorry, your browser does not support inline SVG.

Segue o código SVG:

Exemplo

<svg height="150" width="500">
  <defs>
    <radialGradient id="grad1" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
      <stop offset="0%" style="stop-color:rgb(255,255,255);
      stop-opacity:0" />
      <stop offset="100%" style="stop-color:rgb(0,0,255);stop-opacity:1" />
    </radialGradient>
  </defs>
  <ellipse cx="200" cy="70" rx="85" ry="55" fill="url(#grad1)" />
</svg>

Explicação do código:

  • O atributo id da tag <radialGradient> define um nome exclusivo para o gradiente
  • Os atributos cx, cy e r definem o círculo mais externo e os fx e fy definem o círculo mais interno
  • A gama de cores para um gradiente pode ser composta por duas ou mais cores. Cada cor é especificada com uma tag <stop>. O atributo offset é usado para definir onde a cor do gradiente começa e termina
  • O atributo fill liga o elemento elipse ao gradiente


Exemplo 2

Defina outra elipse com um gradiente radial de branco para azul:

Sorry, your browser does not support inline SVG.

Segue o código SVG:

Exemplo

<svg height="150" width="500">
  <defs>
    <radialGradient id="grad2" cx="20%" cy="30%" r="30%" fx="50%" fy="50%">
      <stop offset="0%" style="stop-color:rgb(255,255,255);
      stop-opacity:0" />
      <stop offset="100%" style="stop-color:rgb(0,0,255);stop-opacity:1" />
    </radialGradient>
  </defs>
  <ellipse cx="200" cy="70" rx="85" ry="55" fill="url(#grad2)" />
</svg>