我的目标是重新使用线节点,如下所示:
<defs>
<desc>x1 and x2 values never change, would like to provide y1 and y2 in use</desc>
<line id="p" x1="5" x2="1019" stroke-width="1" stroke="#808080" opacity=".3"/>
</defs>
<use xlink:href="#p" y1="718.5" y2="718.5"/>
在学习 SVG 时,我认为 use 语句中提供的任何参数都传递给了 defs 中的模板,但显然不是?根据W3 文档:
“use”元素具有可选属性“x”、“y”、“width”和“height”,用于将引用元素的图形内容映射到当前坐标系内的矩形区域
但是,“使用”应该支持“任何...图形元素...”,包括行。好吧,line 没有 x、y、width 或 height 属性;它有 x1、y1、x2、y2。
这也将排除传递各种其他属性,如笔画、笔画宽度等。
use 语句真的仅限于 x、y、width 和 height,还是有其他方法可以将属性合并到 def 模板节点中?