【发布时间】:2012-05-29 11:39:43
【问题描述】:
是否可以在不必先在<defs>下定义的情况下实现这种渐变?
我正在制作一张网络地图,显示设备(交换机、路由器……)之间链路上的网络负载。我使用 SVG 绘制此图,但我不想将所有渐变定义为开始(上行链路)和结束(下行链路)颜色已从后端系统提供给我,并可通过应用程序中的模板变量访问。
我希望使用内联样式,因为我不必跟踪数千个链接引用并确保我为每个链接指定正确的渐变,因为每个渐变都会' 99.9%'的时间对于我在网络地图中绘制的每一行(链接加载)都是唯一的
简单来说,我可以做点什么:<line stroke=<linearGradient... 吗?无需定义一个并引用它? CSS 中的like 样式:<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>
【问题讨论】:
标签: svg gradient inline-styles