<linearGradient>

The <linearGradient> element lets authors define linear gradients that can be applied to fill or stroke of graphical elements.

Don't be confused with CSS linear-gradient() as CSS gradients can only apply to HTML elements where SVG gradient can only apply to SVG elements.

<svg viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink">
  <defs>
    <linearGradient id="myGradient" gradientTransform="rotate(90)">
      <stop offset="5%"  stop-color="gold" />
      <stop offset="95%" stop-color="red" />
    </linearGradient>
  </defs>

  <!-- using my linear gradient -->
  <circle cx="5" cy="5" r="4" fill="url('#myGradient')" />
</svg>

Attributes

gradientUnits
This attribute defines the coordinate system for attributes x1, x2, y1, y2
Value typeuserSpaceOnUse|objectBoundingBox ; Default value: objectBoundingBox; Animatableyes
gradientTransform
This attribute provides additional transformation to the gradient coordinate system.
Value type: <transform-list> ; Default value: identity transform; Animatableyes
href
This attribute defines a reference to another <linearGradient> element that will be used as a template.
Value type: <URL> ; Default value: none; Animatable: yes
spreadMethod
This attribute indicates how the gradient behaves if it starts or ends inside the bounds of the shape containing the gradient.
Value type: pad|reflect|repeat ; Default value: pad; Animatableyes
x1
This attribute defines the x coordinate of the starting point of the vector gradient along which the linear gradient is drawn.
Value type: <length> ; Default value: 0%; Animatable: yes
x2
This attribute defines the x coordinate of the ending point of the vector gradient along which the linear gradient is drawn.
Value type: <length> ; Default value: 100%; Animatable: yes
xlink:href

Deprecated since SVG 2

This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

An <IRI> reference to another <linearGradient> element that will be used as a template.
Value type: <IRI> ; Default value: none; Animatable: yes
y1
This attribute defines the y coordinate of the starting point of the vector gradient along which the linear gradient is drawn.
Value type: <length> ; Default value: 0%; Animatable: yes
y2
This attribute defines the y coordinate of the ending point of the vector gradient along which the linear gradient is drawn.
Value type: <length> ; Default value: 0%; Animatable: yes

Global attributes

Usage notes

CategoriesGradient element
Permitted contentAny number of the following elements, in any order:
Descriptive elements
<animate>, <animateTransform>, <set>, <stop>

Specifications

Browser compatibility

BCD tables only load in the browser