SVG Gradients - Linear






<!--
main_leaderboard, all: [728,90][970,90][320,50][468,60]
-->



SVG Gradients - Linear



❮ Previous
Next ❯



SVG Gradients


A gradient is a smooth transition from one color to another. In addition,
several color transitions can be applied to the same element.


There are two main types of gradients in SVG:



  • Linear

  • Radial




SVG Linear Gradient - <linearGradient>


The <linearGradient> element is used to define a linear gradient.


The <linearGradient> element must be nested within a <defs> tag. The <defs> tag is short
for definitions and contains definition of special elements (such as gradients).


Linear gradients can be defined as horizontal, vertical or angular gradients:



  • Horizontal gradients are created when y1 and y2 are equal and x1 and x2 differ

  • Vertical gradients are created when x1 and x2 are equal and y1 and y2 differ

  • Angular gradients are created when x1 and x2 differ and y1 and y2 differ




Example 1


Define an ellipse with a horizontal linear gradient from yellow to red:



Sorry, your browser does not support inline SVG.

Here is the SVG code:



Example



<svg height="150" width="400">
 
<defs>
   
<linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="0%">
     
<stop offset="0%" style="stop-color:rgb(255,255,0);stop-opacity:1" />
     
<stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1" />
   
</linearGradient>
 
</defs>
 
<ellipse cx="200" cy="70" rx="85" ry="55"
fill="url(#grad1)" />
</svg>

Try it Yourself »

Code explanation:



  • The id attribute of the <linearGradient> tag defines a unique name for the gradient

  • The x1, x2, y1,y2 attributes of the <linearGradient> tag define the start and end position of the gradient

  • The color range for a gradient can be composed of two or more colors. Each color is specified with a <stop>
    tag. The offset attribute is used to define where the gradient color begin and end

  • The fill attribute links the ellipse element to the gradient







<!--
mid_content, all: [300,250][336,280][728,90][970,250][970,90][320,50][468,60]
-->





Example 2


Define an ellipse with a vertical linear gradient from yellow to red:



Sorry, your browser does not support inline SVG.

Here is the SVG code:



Example



<svg height="150" width="400">
 
<defs>
   
<linearGradient id="grad2" x1="0%" y1="0%" x2="0%" y2="100%">
     
<stop offset="0%" style="stop-color:rgb(255,0,0);stop-opacity:1" />
     
<stop offset="100%" style="stop-color:rgb(255,255,0);stop-opacity:1" />
   
</linearGradient>
 
</defs>
 
<ellipse cx="200" cy="70" rx="85" ry="55" fill="url(#grad2)" />
</svg>

Try it Yourself »



Example 3


Define an ellipse with a horizontal linear gradient from yellow to red, and add a text inside the ellipse:


SVG
Sorry, your browser does not support inline SVG.

Here is the SVG code:



Example



<svg height="150" width="400">
 
<defs>
   
<linearGradient id="grad3" x1="0%" y1="0%" x2="100%" y2="0%">
     
<stop offset="0%" style="stop-color:rgb(255,255,0);stop-opacity:1" />
     
<stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1" />
   
</linearGradient>
 
</defs>
 
<ellipse cx="200" cy="70" rx="85" ry="55"
fill="url(#grad3)" />
  <text fill="#ffffff" font-size="45" font-family="Verdana" x="150" y="86">
  SVG</text>
</svg>

Try it Yourself »

Code explanation:



  • The <text> element is used to add a text




❮ Previous
Next ❯

Popular posts from this blog

How to check contact read email or not when send email to Individual?

Displaying single band from multi-band raster using QGIS

How many registers does an x86_64 CPU actually have?