0

text-anchor如何在不使用属性的情况下对齐文本标签中的文本?我的问题是使用text-anchor将改变解释xy属性的方式,我不希望这样,因为我已经完美地设置了这些元素组的位置:

<text>
<tspan x="206" y="142.2">hello</tspan>
<tspan x="206" dy="15">there, all good?</span>
</text>

而且我不希望它被改变,因此重新编码整个 svg 设置只是为了文本布局目的。例如,如果我在text-anchor="middle"这里应用 a ,这会使文本居中,但它将 x (206) 更改为文本的中心。我使用 svg 中的 x 值将文本元素放置在系统中的精确位置,因此 x 坐标的其他解释 1) 破坏了整个布局,2) 甚至无法精确放置文本元素,因为插入文本可能具有可变长度,因此无法预测文本标签所需的 x 坐标以将其放置在您想要的位置。所以我想一定有更好的方法来达到我想要的?

4

1 回答 1

1

您可以通过调整每个文本片段的 dx 来手动居中 SVG 文本,使用从每个片段上调用 ​​getComputedTextLength() 返回的宽度作为输入。

于 2021-03-29T22:18:32.047 回答