SVG Gradients之Linear

SVG Gradients(渐变)

渐变是指从一种颜色向另外一种颜色的平滑转换。几种颜色转化能同时作用于同一个元素中。

SVG中主要有两种渐变:

  • Linear (线性渐变)
  • Radial (径向渐变)

SVG <linearGradient>

<linearGradient>元素必须嵌套在<defs>中

<linearGradient>可以定义成水平、垂直、任意角度渐变:

  • 水平渐变:y1 、y2相同, x1、x2 不同
  • 垂直渐变:x1、x2 相同, y1 、y2不同
  • 垂直渐变:x1、x2 不同, y1 、y2不同

示例1

水平渐变,从yellow 到 red

<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>

代码说明:

  • <linearGradient>中的x1, x2, y1,y2分别定义了渐变的起止位置
  • 渐变可以设置多个颜色,每种颜色都用<stop>指定

示例2

垂直渐变,从yellow 到 red

<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,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(#grad2)" />
</svg>

示例3

水平渐变,从yellow 到 red,并增加了一个文本

SVG

<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>

时间: 2024-11-01 04:37:37

SVG Gradients之Linear的相关文章

SVG Gradients之Radial

SVG <radialGradient> <radialGradient>元素必须嵌套在<defs>中 示例1 径向渐变,从 white 到 blue <svg height="150" width="500"> <defs> <radialGradient id="grad1" cx="50%" cy="50%" r="50%&q

【D3.js 学习总结】4、D3 创建SVG

D3图表大都是由SVG来实现的,所以在继续学习前需要了解一些SVG的知识,可以通过看svg教程来学习一下. D3可以生成一般的SVG形状,它也内置了很多SVG图表,方便我们直接生成实用的图表. 我们先来创建一个SVG容器,其它SVG图形都需要在容器里来创建: var body = d3.select('body'); var svg = body.append('svg').attr('width',200).attr('height',200); 普通SVG 用D3来生成一般的SVG图形,可以

前端必备神器 Snap.svg 弹动效果_jquery

有人说不会 SVG 的前端开发者不叫开发者,而叫爱好者.前端不光是 Angularjs 了,这时候再不学 SVG 就晚了!(如果你只会 jQuery 就当我没说...)这里我就给大家分享一个前几天在别处看到的一个高大上的 SVG 效果,左边菜单弹出来会动动弹的说,链接点这里. 当时我就震惊了,今天抽空搞清了源码,然后下面是我潜心研究后做出来的 Demo,虽然比较粗糙,但还是很洋气的感觉呢.下面我就这个 DEMO 跟大家分享一下. http://jsfiddle.net/windwhinny/n6

Animated SVG vs GIF

本文讲的是Animated SVG vs GIF, SVG不仅可用于展示静态图像,与其它图片格式相比,呈现动画的能力只是其强大的特性之一.这也是SVG优于包括GIF在内的其它位图格式的众多原因之一.当然,这种优势仅适用于适合SVG的应用场景,例如: Logo图, 不复杂的矢量图, UI组件, 信息化图表, 图标. 当然,如果你的图片更适合用位图格式--例如照片或非常复杂的矢量图形(通常会导致 SVG 格式的文件非常大),那么你还是应该用位图.不仅图片可以考虑用SVG格式,也要考虑SVG是否适用于

【D3.js 学习总结】5、D3 SVG图表示例

之前有说到"D3制作图表的过程就是将各种SVG图形拼接在一起的过程",具体来说折线图表就是折线图+坐标轴的组合,面积图是折线图+坐标轴+面积图 一个完整的SVG图表,是包含了各种数据.SVG图形.样式.交互组成的组合体,我们以面积图表来做一个示例展示: CSS svg{ font-size: 12px; } .line{ fill:none; stroke-width:1; stroke:#000; } .axis line{ stroke: #000; stroke-width: 1

(zhuan) Deep Deterministic Policy Gradients in TensorFlow

      Deep Deterministic Policy Gradients in TensorFlow AUG 21, 2016 This blog from: http://pemami4911.github.io/blog/2016/08/21/ddpg-rl.html       Introduction Deep Reinforcement Learning has recently gained a lot of traction in the machine learning

SVG Animation动画

SVG动画示例 下面是一个简单的SVG动画的例子: <svg width="500" height="100"> <rect x="10" y="10" height="110" width="110" style="stroke:#ff0000; fill: #0000ff"> <animateTransform attributeNa

SVG Filters之虚化Blur Effects

SVG 滤镜 在 SVG 中,可用的滤镜有: feBlend feColorMatrix feComponentTransfer feComposite feConvolveMatrix feDiffuseLighting feDisplacementMap feFlood feGaussianBlur feImage feMerge feMorphology feOffset feSpecularLighting feTile feTurbulence feDistantLight fePoi

SVG Shapes之圆形 &lt;circle&gt;

2.圆形 <circle> 示例2.1 <svg height="100" width="100"> <circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" /> </svg> 代码解释: cx 和 cy 属性