Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改使用<;创建的svg组件中的文本;g>;标记,并与<;使用>;,可能吗?_Svg - Fatal编程技术网

更改使用<;创建的svg组件中的文本;g>;标记,并与<;使用>;,可能吗?

更改使用<;创建的svg组件中的文本;g>;标记,并与<;使用>;,可能吗?,svg,Svg,我想在svg中创建一个可以重用的组件。 这将绘制一个包含文本的矩形: <g id='TestComponent'> <rect x='200' y='235' width='100' height='30' rx='10' style='fill: white; stroke: lightgrey;'/> <text x='250' y='252' text-anchor='middle' alignment-baseline

我想在svg中创建一个可以重用的组件。 这将绘制一个包含文本的矩形:

    <g id='TestComponent'>
        <rect x='200' y='235' width='100' height='30' rx='10' style='fill: white; stroke: lightgrey;'/>
        <text x='250' y='252' text-anchor='middle' alignment-baseline='middle' style='fill:black;font-family: Helvetica'>Test</text>
    </g>

试验
如果我在容器“g”元素之间定义它: 试验

然后我可以这样使用它:

    <use xlink:href='#TestComponent' />

我还可以将其移动并与以下设备一起重复使用:

    <use xlink:href='#TestComponent' x=100 y=100 />

这是我的问题,我希望能够更改文本。可能吗? 我想做的是:

    <use xlink:href='#TestComponent' text="Hello world 2"/>

有办法做到这一点吗? 如果不是的话,我更喜欢用什么方式来组织这类事情,这样我就可以尽可能地恢复和避免重复


/Hans

是的,您可以在SVG中重用参数化结构。查看:或中的描述和示例。

您可以使用XSLT或javascript。开箱即用的产品无法满足您的要求