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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/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图片宽1000像素,高550像素: <svg width="1000" height="550"> 因此,最终结果是,所有三个文本节点都是在相对于绘图区域左上角的坐标(600375)处绘制的。如果希望文本显示在其他位置,则必须指定不同的偏移量。例如: <text transform

我需要相对于父对象放置文本

目前,我有一个路径和一个文本元素包装在
中。但是所有文本坐标都是相对于最外层的


文本
文本
文本

很难看出您在这方面遇到了什么问题,但我会尽我所能解释清楚

您的SVG图片宽1000像素,高550像素:

<svg width="1000" height="550">
因此,最终结果是,所有三个文本节点都是在相对于绘图区域左上角的坐标(600375)处绘制的。如果希望文本显示在其他位置,则必须指定不同的偏移量。例如:

<text transform="translate(120,-80)" ... >text</text>
<text transform="translate(0,160)" ... >text</text>
<text transform="translate(-120,-80)" ... >text</text>
文本
文本
文本

文本
文本
文本

你的问题毫无意义。最外面的
元素有一个偏移量(500275),而内部的
元素根本没有偏移量。因此,所有文本元素都被定位在(100100)+(0,0)+(500275)。你是否在某种程度上期望它们被神奇地定位在每个路径对象的中间?(还有,14位小数真的有必要吗?我本以为1就足够了。)我的假设是文本坐标是相对于父组的。此SVG是使用D3绘制的,因此需要大量的小数。这可以四舍五入。你的假设是正确的。家长组都在(500275)。对,我还是有点困惑。你能给我一个如何解决这个问题的例子吗?@RobertLongson第一次使用SVG。我不明白为什么文本元素坐标不是相对于父组的。正如斯奎拉奇所解释的,这与最外层组上的变换有关。尽管如此,我仍然发现很难理解如何相对于父组定位文本。
<g>
<path d="M0-275A275 275 0 0 1 238 137.5L0 0Z" style="fill: rgb(17, 17, 17);"></path>
<path d="M238 137.5A275 275 0 0 1-238 137.5L0 0Z" style="fill: rgb(34, 34, 34);"></path>
<path d="M-238 137.5A275 275 0 0 1 0-275L0 0Z" style="fill: rgb(51, 51, 51);"></path>
<text transform="translate(100, 100)" ... >text</text>
<text transform="translate(120,-80)" ... >text</text>
<text transform="translate(0,160)" ... >text</text>
<text transform="translate(-120,-80)" ... >text</text>