SVG 基础教程

SVG 形状

SVG 滤镜

SVG 渐变

SVG 参考

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/svg-grad-radial.html

SVG 渐变- 放射性


<radialGradient> 元素用于定义放射性渐变。<radialGradient> 标签必须嵌套在 <defs> 的内部。<defs> 标签是 definitions 的缩写,它可对诸如渐变之类的特殊元素进行定义。

实例 1

定义一个放射性渐变从白色到蓝色椭圆:

下面是 SVG 代码:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1"> 
  <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>

代码解析:

  • <radialGradient> 标签的 id 属性可为渐变定义一个唯一的名称
  • CX,CY 和 r 属性定义的最外层圆和Fx和Fy定义的最内层圆
  • 渐变颜色范围可以由两个或两个以上的颜色组成。每种颜色用一个 <stop> 标签指定。offset 属性用来定义渐变色开始和结束
  • 填充属性把 ellipse 元素链接到此渐变

实例 2

定义放射性渐变从白色到蓝色的另一个椭圆:

下面是 SVG 代码:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1"> 
  <defs>
    <radialGradient id="grad1" 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(#grad1)" />
</svg>