不必在
我正在制作一个显示设备(交换机、路由器等)之间网络负载的网络地图。 我使用SVG进行绘制,但我不想定义所有的渐变色,因为上行和下行颜色已经从后端系统中给出,并通过我们应用程序中的模板变量访问。
我希望使用内联样式,因为它在代码方面更容易处理,而且我不必跟踪数千个链接引用,并确保为每个链接指定正确的渐变色,因为我在网络地图中绘制的每条线(链接负载)的渐变色几乎都是独特的。
简单来说,我能否做一些类似于这样的操作:
(http://jsfiddle.net/GgJnB/)
<defs>
下先定义渐变色,也可以实现这种渐变吗?我正在制作一个显示设备(交换机、路由器等)之间网络负载的网络地图。 我使用SVG进行绘制,但我不想定义所有的渐变色,因为上行和下行颜色已经从后端系统中给出,并通过我们应用程序中的模板变量访问。
我希望使用内联样式,因为它在代码方面更容易处理,而且我不必跟踪数千个链接引用,并确保为每个链接指定正确的渐变色,因为我在网络地图中绘制的每条线(链接负载)的渐变色几乎都是独特的。
简单来说,我能否做一些类似于这样的操作:
<line stroke=<linearGradient...
?而不需要先定义一个并引用回它?就像CSS中的样式:<span style='color: blue'> .. </span>
<svg width="1024" height="800">
<defs>
<linearGradient id="grad1" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#000066;stop-opacity:1" />
<stop offset="50%" style="stop-color:#000066;stop-opacity:1" />
<stop offset="51%" style="stop-color:#00ffff;stop-opacity:1" />
<stop offset="100%" style="stop-color:#00ffff;stop-opacity:1" />
</linearGradient>
</defs>
<text x="50" y="50" fill="red">foo bar</text>a
<line stroke="url(#grad1)" x1="130.8757632890282"
y1="163.6818288670081" x2="651.9483366457684" y2="415.704113030817" />
</svg>
(http://jsfiddle.net/GgJnB/)
<defs>
线性渐变填充顶部一样。这里有一个 使用base64编码渐变 的例子与传统线性渐变 ,但我无法让第一个例子工作? - KyleMit