mozilla

Revision 286740 of radial-gradient()

  • Revision slug: CSS/radial-gradient
  • Revision title: radial-gradient
  • Revision id: 286740
  • Created:
  • Creator: naena
  • Is current revision? No
  • Comment 220 words added

Revision Content

{{ CSSRef() }}

The CSS radial-gradient() function creates an {{ xref_cssimage() }} which represents a gradient of colors radiating from an origin. The result of this function is an object of the CSS {{ xref_cssgradient() }} data type. Radial gradients are defined by their origin and the angle, orientation, and type, a circle or an ellipse of the spreading shape.

Like any other gradient, a CSS radial gradient is not a CSS <color> but an image with no intrinsic dimensions, i. e. it has no natural or preferred size, nor ratio. Its concrete size will match the one of the element it applies to.

The radial-gradient function does not allow repeating gradients. For such a functionality, use the CSS {{ Cssxref("repeating-radial-gradient") }} function.

{{ SeeCompatTable() }}

Syntax

radial-gradient( [<position> || <angle>,]? [<shape> || <size>,]? <stop>, <stop>[, <stop>]* )

Values

<position>
A position, interpreted in the same way as {{ Cssxref("background-position") }} or {{ Cssxref("transform-origin") }}. If omitted, the default is center.
<angle>
An angle establishing the gradient line, which extends from the starting point at this angle; this is 0deg by default.
<shape>
The gradient's shape. This is one of circle (meaning that the gradient's shape is a circle with constant radius) or ellipse (meaning that the shape is an axis-aligned ellipse). The default value is ellipse.
<size>
The size of the gradient. This is one of the {{ anch("Size constants") }} listed below.
<stop>
This value is comprised of a {{ Xref_csscolorvalue() }} value, followed by an optional stop position (either a percentage between 0% and 100% or a {{ Xref_csslength() }} along the gradient axis).
Rendering of color-stops in CSS gradients follows the same rules as color-stops in SVG gradients.

Size constants

Constant Description
closest-side
The gradient's shape meets the side of the box closest to its center (for circles) or meets both the vertical and horizontal sides closest to the center (for ellipses).
closest-corner The gradient's shape is sized so it exactly meets the closest corner of the box from its center.
farthest-side Similar to closest-side, except the shape is sized to meet the side of the box farthest from its center (or vertical and horizontal sides).
farthest-corner
The gradient's shape is sized so it exactly meets the farthest corner of the box from its center.
contain
A synonym for closest-side.
cover
A synonym for farthest-corner.

Usage

Radial gradients also run along an axis. At each end point of the axis, a radius is specified. This can be imagined as creating two "circles", where for each circle the center is specified by the point and the radius is specified by the radius length. The gradient runs outwards from the circumference of the inner circle to the circumference of the outer circle.

background-image:    -moz-radial-gradient(center 45deg, circle closest-side, orange 0%, red 100%);
background-image: -webkit-radial-gradient(center 45deg, circle closest-side, orange 0%, red 100%);
background-image: -ms-radial-gradient(center 45deg, circle closest-side, orange 0%, red 100%);
background-image: -o-radial-gradient(center 45deg, circle closest-side, orange 0%, red 100%);

Examples

For a more general introduction to how CSS gradients in Gecko/Firefox work, see {{ cssxref("-moz-linear-gradient") }}.

background:    -moz-radial-gradient(45px 45px 45deg, circle cover,
				 aqua 0%, rgba(0, 0, 255, 0) 100%, blue 95%);
background: -webkit-radial-gradient(45px 45px 45deg, circle cover,
     aqua 0%, rgba(0, 0, 255, 0) 100%, blue 95%);
background: -ms-radial-gradient(45px 45px 45deg, circle cover,
     aqua 0%, rgba(0, 0, 255, 0) 100%, blue 95%);
background: -o-radial-gradient(45px 45px 45deg, circle cover,
     aqua 0%, rgba(0, 0, 255, 0) 100%, blue 95%);
background-image: -webkit-radial-gradient(45px 45px, ellipse farthest-corner,
				 aqua 0%, rgba(0, 0, 255, 0) 100%, blue 95%);
background-image: -moz-radial-gradient(45px 45px, ellipse farthest-corner,
				 aqua 0%, rgba(0, 0, 255, 0) 100%, blue 95%);
background-image:    -ms-radial-gradient(45px 45px, ellipse farthest-corner,
				 aqua 0%, rgba(0, 0, 255, 0) 100%, blue 95%);
background-image:    -o-radial-gradient(45px 45px, ellipse farthest-corner,
				 aqua 0%, rgba(0, 0, 255, 0) 100%, blue 95%);

/* Next used as background of header at http://www.lovatasinhala.com */

.riviraes{
    background-image:-webkit-radial-gradient(470px 47px, ellipse farthest-corner, rgb(100%,100%,50%) 20%, rgba(90%,60%,60%,.4) 30%, rgb(90%,90%,100%) 60%);
    background-image:-moz-radial-gradient(470px 47px, ellipse farthest-corner, rgb(100%,100%,50%) 20%, rgba(90%,60%,60%,.4) 30%, rgb(90%,90%,100%) 60%);
    background-image:-o-radial-gradient(470px 47px, ellipse farthest-corner, rgb(100%,100%,50%) 20%, rgba(80%,60%,60%,.4) 30%, rgb(90%,90%,100%) 60%);
    background-image:-ms-radial-gradient(470px 47px, ellipse farthest-corner, rgb(100%,100%,50%) 20%, rgba(80%,60%,60%,.4) 30%, rgb(90%,90%,100%) 60%);
}
Radial
background: -webkit-radial-gradient(45px 45px, cover, rgb(255, 0, 0) 0%, rgb(0, 0, 255) 100%);
background:    -moz-radial-gradient(45px 45px, cover, rgb(255, 0, 0) 0%, rgb(0, 0, 255) 100%);
background:    -ms-radial-gradient(45px 45px, cover, rgb(255, 0, 0) 0%, rgb(0, 0, 255) 100%);
background:    -o-radial-gradient(45px 45px, cover, rgb(255, 0, 0) 0%, rgb(0, 0, 255) 100%);

Browser compatibility

Browser Lowest version Support of
Internet Explorer

10

radial-gradient()

Firefox (Gecko) 3.6 (1.9.2) -moz-radial-gradient()
Opera 11.60 -o-radial-gradient()
Safari / WebKit / Chrome 4.0 / 528 / 3 -webkit-gradient(radial,)
Safari Reference Library, gradients
  6 / r75891 / 10 -webkit-radial-gradient()
Safari: CSS3 Gradients
Note: unlike Gecko, WebKit supports explicitly sized gradients. See {{ bug(627885) }}

Note that the Mozilla syntax proposal for CSS gradients differs significantly from WebKit's original proposal:

  • Gecko (Firefox) uses separate kinds of property values to distinguish radial and linear gradients, whereas WebKit previously lumped them into a single kind of property value and needs a leading parameter to identify the type of gradient.
  • The actual syntax for how a radial gradient is specified is significantly different.
  • Webkit, Mozilla, Opera and Microsoft now implement the previous version of the W3C standard syntax. The syntax has been changed as of October 2011. The new proposed syntax is not supported in any browser.

See also

{{ languages( { "ja": "ja/CSS/-moz-radial-gradient", "fr": "fr/CSS/radial-gradient"} ) }}

Revision Source

<p>{{ CSSRef() }}</p>
<p>The CSS <code>radial-gradient()</code> function creates an {{ xref_cssimage() }} which represents a gradient of colors radiating from an origin. The result of this function is an object of the CSS {{ xref_cssgradient() }} data type. Radial gradients are defined by their origin and the angle, orientation, and type, a <code>circle</code> or an <code>ellipse</code> of the spreading shape.</p>
<p>Like any other gradient, a CSS radial gradient is not a CSS <span class="lang lang-en"><code><a href="color_value" rel="custom">&lt;color&gt;</a></code> </span> but an image with <a href="/en/CSS/image#no_intrinsic" title="en/CSS/image#no_intrinsic">no intrinsic dimensions</a>, i. e. it has no natural or preferred size, nor ratio. Its concrete size will match the one of the element it applies to.</p>
<p>The <code>radial-gradient</code> function does not allow repeating gradients. For such a functionality, use the CSS {{ Cssxref("repeating-radial-gradient") }} function.</p>
<p>{{ SeeCompatTable() }}</p>
<h2 id="Syntax">Syntax</h2>
<pre>radial-gradient( [&lt;position&gt; || &lt;angle&gt;,]? [&lt;shape&gt; || &lt;size&gt;,]? &lt;stop&gt;, &lt;stop&gt;[, &lt;stop&gt;]* )
</pre>
<h2 id="Values">Values</h2>
<dl> <dt>&lt;position&gt;</dt> <dd>A position, interpreted in the same way as {{ Cssxref("background-position") }} or {{ Cssxref("transform-origin") }}. If omitted, the default is <code>center</code>.</dd> <dt>&lt;angle&gt;</dt> <dd>An angle establishing the gradient line, which extends from the starting point at this angle; this is <code>0deg</code> by default.</dd> <dt>&lt;shape&gt;</dt> <dd>The gradient's shape. This is one of <code>circle</code> (meaning that the gradient's shape is a circle with constant radius) or <code>ellipse</code> (meaning that the shape is an axis-aligned ellipse). The default value is <code>ellipse</code>.</dd> <dt>&lt;size&gt;</dt> <dd>The size of the gradient. This is one of the {{ anch("Size constants") }} listed below.</dd> <dt>&lt;stop&gt;</dt> <dd>This value is comprised of a {{ Xref_csscolorvalue() }} value, followed by an optional stop position (either a percentage between 0% and 100% or a {{ Xref_csslength() }} along the gradient axis).</dd> <dd>Rendering of color-stops in CSS gradients follows the same rules as color-stops in SVG gradients.</dd>
</dl>
<h2 id="Size_constants">Size constants</h2>
<table class="standard-table"> <tbody> <tr> <th>Constant</th> <th>Description</th> </tr> <tr> <td><code>closest-side<br> </code></td> <td>The gradient's shape meets the side of the box closest to its center (for circles) or meets both the vertical and horizontal sides closest to the center (for ellipses).</td> </tr> <tr> <td><code>closest-corner</code></td> <td>The gradient's shape is sized so it exactly meets the closest corner of the box from its center.</td> </tr> <tr> <td><code>farthest-side</code></td> <td>Similar to closest-side, except the shape is sized to meet the side of the box farthest from its center (or vertical and horizontal sides).</td> </tr> <tr> <td><code>farthest-corner<br> </code></td> <td>The gradient's shape is sized so it exactly meets the farthest corner of the box from its center.</td> </tr> <tr> <td><code>contain<br> </code></td> <td>A synonym for <code>closest-side</code>.</td> </tr> <tr> <td><code>cover<br> </code></td> <td>A synonym for <code>farthest-corner</code>.</td> </tr> </tbody>
</table>
<h2 id="Usage">Usage</h2>
<p>Radial gradients also run along an axis. At each end point of the axis, a radius is specified. This can be imagined as creating two "circles", where for each circle the center is specified by the point and the radius is specified by the radius length. The gradient runs outwards from the circumference of the inner circle to the circumference of the outer circle.</p>
<pre>background-image:    -moz-radial-gradient(center 45deg, circle closest-side, orange 0%, red 100%);
background-image: -webkit-radial-gradient(center 45deg, circle closest-side, orange 0%, red 100%);
background-image: -ms-radial-gradient(center 45deg, circle closest-side, orange 0%, red 100%);
background-image: -o-radial-gradient(center 45deg, circle closest-side, orange 0%, red 100%);
</pre>
<h2 id="Examples">Examples</h2>
<p>For a more general introduction to how CSS gradients in Gecko/Firefox work, see {{ cssxref("-moz-linear-gradient") }}.</p>
<pre>background:    -moz-radial-gradient(45px 45px 45deg, circle cover,
				 aqua 0%, rgba(0, 0, 255, 0) 100%, blue 95%);
background: -webkit-radial-gradient(45px 45px 45deg, circle cover,
     aqua 0%, rgba(0, 0, 255, 0) 100%, blue 95%);
background: -ms-radial-gradient(45px 45px 45deg, circle cover,
     aqua 0%, rgba(0, 0, 255, 0) 100%, blue 95%);
background: -o-radial-gradient(45px 45px 45deg, circle cover,
     aqua 0%, rgba(0, 0, 255, 0) 100%, blue 95%);
</pre>
<pre>background-image: -webkit-radial-gradient(45px 45px, ellipse farthest-corner,
				 aqua 0%, rgba(0, 0, 255, 0) 100%, blue 95%);
background-image: -moz-radial-gradient(45px 45px, ellipse farthest-corner,
				 aqua 0%, rgba(0, 0, 255, 0) 100%, blue 95%);
background-image:    -ms-radial-gradient(45px 45px, ellipse farthest-corner,
				 aqua 0%, rgba(0, 0, 255, 0) 100%, blue 95%);
background-image:    -o-radial-gradient(45px 45px, ellipse farthest-corner,
				 aqua 0%, rgba(0, 0, 255, 0) 100%, blue 95%);
</pre>
<p>/* Next used as background of header at <a class=" external" href="http://www.lovatasinhala.com" rel="freelink">http://www.lovatasinhala.com</a> */</p>
<pre>.riviraes{
    background-image:-webkit-radial-gradient(470px 47px, ellipse farthest-corner, rgb(100%,100%,50%) 20%, rgba(90%,60%,60%,.4) 30%, rgb(90%,90%,100%) 60%);
    background-image:-moz-radial-gradient(470px 47px, ellipse farthest-corner, rgb(100%,100%,50%) 20%, rgba(90%,60%,60%,.4) 30%, rgb(90%,90%,100%) 60%);
    background-image:-o-radial-gradient(470px 47px, ellipse farthest-corner, rgb(100%,100%,50%) 20%, rgba(80%,60%,60%,.4) 30%, rgb(90%,90%,100%) 60%);
    background-image:-ms-radial-gradient(470px 47px, ellipse farthest-corner, rgb(100%,100%,50%) 20%, rgba(80%,60%,60%,.4) 30%, rgb(90%,90%,100%) 60%);
}
</pre>
<div style="
background: -webkit-radial-gradient(45px 45px, cover, rgb(255, 0, 0) 0%, rgb(0, 0, 255) 100%) repeat scroll 0% 0% transparent;
background: -moz-radial-gradient(45px 45px, cover, rgb(255, 0, 0) 0%, rgb(0, 0, 255) 100%) repeat scroll 0% 0% transparent;
background: -ms-radial-gradient(45px 45px, cover, rgb(255, 0, 0) 0%, rgb(0, 0, 255) 100%) repeat scroll 0% 0% transparent;
background: -o-radial-gradient(45px 45px, cover, rgb(255, 0, 0) 0%, rgb(0, 0, 255) 100%) repeat scroll 0% 0% transparent; text-shadow: 1px 1px 0pt black; color: white; border: 1px solid black;">Radial</div>
<pre>background: -webkit-radial-gradient(45px 45px, cover, rgb(255, 0, 0) 0%, rgb(0, 0, 255) 100%);
background:    -moz-radial-gradient(45px 45px, cover, rgb(255, 0, 0) 0%, rgb(0, 0, 255) 100%);
background:    -ms-radial-gradient(45px 45px, cover, rgb(255, 0, 0) 0%, rgb(0, 0, 255) 100%);
background:    -o-radial-gradient(45px 45px, cover, rgb(255, 0, 0) 0%, rgb(0, 0, 255) 100%);
</pre>
<h2 id="Browser_compatibility">Browser compatibility</h2>
<table class="standard-table"> <tbody> <tr> <th>Browser</th> <th>Lowest version</th> <th>Support of</th> </tr> <tr> <td rowspan="1">Internet Explorer</td> <td> <p>10</p> </td> <td> <p><code>radial-gradient()</code></p> </td> </tr> <tr> <td>Firefox (Gecko)</td> <td>3.6 (1.9.2)</td> <td><code>-moz-radial-gradient()</code></td> </tr> <tr> <td>Opera</td> <td>11.60 <a class="external" href="http://www.opera.com/docs/changelogs/unix/1160/" title="http://www.opera.com/docs/changelogs/unix/1160/"></a></td> <td><code>-o-radial-gradient()</code></td> </tr> <tr> <td>Safari / WebKit / Chrome</td> <td>4.0 / 528 / 3</td> <td><code>-webkit-gradient(radial,</code><code>…</code><code>)</code><br> <a class="external" href="http://developer.apple.com/safari/library/documentation/InternetWeb/Conceptual/SafariVisualEffectsProgGuide/Gradients/Gradients.html" title="http://developer.apple.com/safari/library/documentation/InternetWeb/Conceptual/SafariVisualEffectsProgGuide/Gradients/Gradients.html">Safari Reference Library, gradients</a></td> </tr> <tr> <td> </td> <td>6 / r75891 / 10</td> <td><code>-webkit-radial-gradient()</code><br> <a class="external" href="http://webkit.org/blog/1424/css3-gradients/">Safari: CSS3 Gradients</a><br> Note: unlike Gecko, WebKit supports explicitly sized gradients. See {{ bug(627885) }}</td> </tr> </tbody>
</table>
<p>Note that the Mozilla syntax proposal for CSS gradients differs significantly from WebKit's original proposal:</p>
<ul> <li>Gecko (Firefox) uses separate kinds of property values to distinguish radial and linear gradients, whereas WebKit previously lumped them into a single kind of property value and needs a leading parameter to identify the type of gradient.</li> <li>The actual syntax for how a radial gradient is specified is significantly different.</li> <li>Webkit, Mozilla, Opera and Microsoft now implement the previous version of the W3C standard syntax. The syntax has been changed as of October 2011. The new proposed syntax is not supported in any browser.</li>
</ul>
<h2 id="See_also">See also</h2>
<ul> <li><a href="/en/CSS/Using_CSS_gradients" title="en/Using gradients">Using gradients</a></li> <li>{{ cssxref("-moz-linear-gradient") }}</li> <li>{{ cssxref("background-image") }}</li> <li>{{ Cssxref("background") }}</li> <li>WebKit's original proposal: <a class="external" href="http://webkit.org/blog/175/introducing-css-gradients/" title="http://webkit.org/blog/175/introducing-css-gradients/">http://webkit.org/blog/175/introducing-css-gradients/</a></li> <li>WebKit's new implementation: <a class="external" href="http://webkit.org/blog/1424/css3-gradients/" title="http://webkit.org/blog/1424/css3-gradients/">http://webkit.org/blog/1424/css3-gradients/</a></li> <li>Mozilla Bug: {{ bug(479220) }}</li> <li>W3C Proposal for Radial Gradients: <a class="external" href="http://dev.w3.org/csswg/css3-images/#radial-gradients" title="http://dev.w3.org/csswg/css3-images/#radial-gradients">http://dev.w3.org/csswg/css3-images/#radial-gradients</a></li> <li>W3C Proposal for Background Position: <a class="external" href="http://www.w3.org/TR/css3-background/#the-background-position" title="http://www.w3.org/TR/css3-background/#the-background-position">http://www.w3.org/TR/css3-background/#the-background-position</a></li>
</ul>
<p>{{ languages( { "ja": "ja/CSS/-moz-radial-gradient", "fr": "fr/CSS/radial-gradient"} ) }}</p>
Revert to this revision