渐变是指形状中一种颜色与另一种颜色的平滑过渡。SVG 提供两种类型的渐变。
- 线性渐变 − 表示一种颜色从一个方向到另一个方向的线性过渡。
- 径向渐变 − 表示一种颜色与另一种颜色从一个方向到另一个方向的圆形过渡。
线性渐变
语法声明
以下是 <linearGradient> 元素的语法声明。我们只展示了主要属性。
属性
名称 | 描述 |
---|---|
gradientUnits | 定义渐变中各种长度值的坐标系的单位。如果 gradientUnits=“userSpaceOnUse”,则值表示在使用 gradient 元素时当前用户坐标系中的值。如果 patternContentUnits=“objectBoundingBox”,则值表示在使用渐变元素时引用元素上边界框的分数或百分比值。默认值为 userSpaceOnUse。 |
x1 | 梯度向量的 x 轴坐标。Defeault 为 0。 |
y1 | 梯度向量的 y 轴坐标。默认值为 0。 |
x2 | 梯度向量的 x 轴坐标。Defeault 为 0。 |
y2 | 梯度向量的 y 轴坐标。默认值为 0。 |
spreadMethod | 表示在 Graphics 元素中展开渐变的方法。默认为 'pad'。 |
xlink:href | 用于引用另一个渐变。 |
例
testSVG.htm
- 一个 <linearGradient> 元素定义为 sampleGradient。
- 在 linearGradient 中,两个偏移量用两种颜色定义。
- 在 rect 元素的 fill 属性中,指定渐变的 url 以使用之前创建的渐变填充矩形。
在 Chrome Web 浏览器中打开 textSVG.htm。您可以使用 Chrome/Firefox/Opera 直接查看 SVG 图像,无需任何插件。Internet Explorer 9 及更高版本还支持 SVG 图像渲染。
径向渐变
语法声明
以下是 <radialGradient> 元素的语法声明。我们只展示了主要属性。
属性
名称 | 描述 |
---|---|
gradientUnits | 定义渐变中各种长度值的坐标系的单位。如果 gradientUnits=“userSpaceOnUse”,则值表示在使用 gradient 元素时当前用户坐标系中的值。如果 patternContentUnits=“objectBoundingBox”,则值表示在使用渐变元素时引用元素上边界框的分数或百分比值。默认值为 userSpaceOnUse。 |
cx | 梯度向量最大圆心的 x 轴坐标。Defeault 为 0。 |
cy | 梯度向量最大圆心的 y 轴坐标。默认值为 0。 |
r | 梯度向量最大圆心的半径。Defeault 为 0。 |
fx | 径向渐变的焦点。默认值为 0。 |
fy | 径向渐变的焦点。默认值为 0。 |
spreadMethod | 表示在 Graphics 元素中展开渐变的方法。默认为 'pad'。 |
xlink:href | 用于引用另一个渐变。 |
例
testSVG.htm
- 一个 <radialGradient> 元素定义为 sampleGradient。
- 在 radialGradient 中,两个偏移量用两种颜色定义。
- 在 rect 元素的 fill 属性中,指定渐变的 url 以使用之前创建的渐变填充矩形。
在 Chrome Web 浏览器中打开 textSVG.htm。您可以使用 Chrome/Firefox/Opera 直接查看 SVG 图像,无需任何插件。Internet Explorer 9 及更高版本还支持 SVG 图像渲染。