是否可以在不必先定义它的情况下实现这个渐变<defs>
?
我正在制作一张网络地图,显示设备(交换机、路由器……)之间链路上的网络负载。我使用 SVG 绘制它,但我不想将所有渐变定义为开始(上行链路)和结束(下行链路)颜色已经从后端系统提供给我,并且可以通过我们应用程序中的模板变量访问。
我希望使用内联样式,因为我不必跟踪数千个链接引用并确保我为每个链接指定正确的渐变,因为每个渐变都会“99.9%”,因此更容易编写代码有时我在网络地图中绘制的每一行(链接加载)都是唯一的
简而言之,我可以做一些事情吗: <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/ )</p>