SVG<;符号>;s refX/refX属性并放置一个<;符号>;相对于其中心

SVG<;符号>;s refX/refX属性并放置一个<;符号>;相对于其中心,svg,browser,Svg,Browser,根据SVG的文档,我可以向其中添加/属性 如果理解正确,我可以使用这些属性在符号坐标系中定义参考点,因此当我使用元素参考它时,它将相对于该参考点放置(而不是默认的左上角) 但这些属性似乎没有这样做,或者对符号的位置根本没有任何影响。我找不到有关这些属性(符号)的任何其他信息,也找不到任何浏览器是否支持这些属性 这就是refX/refY的实际工作方式吗?它们是否在任何浏览器中实现 如果没有,是否有其他方法可以在不事先知道/计算其实际宽度/高度的情况下,相对于符号中心放置带有元素的符号?我还发现re

根据SVG的文档,我可以向其中添加/属性

如果理解正确,我可以使用这些属性在符号坐标系中定义参考点,因此当我使用
元素参考它时,它将相对于该参考点放置(而不是默认的左上角)

但这些属性似乎没有这样做,或者对符号的位置根本没有任何影响。我找不到有关这些属性(符号)的任何其他信息,也找不到任何浏览器是否支持这些属性

这就是refX/refY的实际工作方式吗?它们是否在任何浏览器中实现


如果没有,是否有其他方法可以在不事先知道/计算其实际宽度/高度的情况下,相对于符号中心放置带有
元素的符号?

我还发现refX和refY不适用于符号。不过,我确实找到了一个解决办法,可以有效地做同样的事情。该键将符号“溢出”变量设置为“可见”。使用“使用”功能时,符号的插入点始终是符号坐标系的原点(0,0坐标),因此您只需设置符号,使符号位于要插入符号的点的顶部。我发现使用变换很容易做到这一点,因为您只需要对所需的插入点使用负值

使插入点成为正方形中心的示例:

<symbol id="test" overflow="visible" >
   <g transform="translate(-50 -50)" >
      <rect x="0" y="0" width="100" height="100" stroke="black"/>
   </g>
</symbol>


正如您所发现的,没有浏览器支持它们是的,但我不确定我是否正确理解文档或正确使用文档。您如何使用浏览器未实现的东西?我如何知道它们未实现?在任何地方都没有提到它(尽管在任何地方也没有提到对它们的支持,但do的refX/refY似乎起作用)。所以我觉得我遗漏了什么。标记在svg 1中有refx和refy。它们仅用于svg 2的符号。