【发布时间】:2021-04-27 21:37:26
【问题描述】:
我有一个从 Adobe Illustrator 导出的 SVG,其中包含多个类似这样的路径,它会生成一个我打算用作文本框的小多边形
<svg viewbox="387 390 74 20">
<g>
<path class="st37" d="M452,408h-56c-4.42,0-8-3.58-8-8l0,0c0-4.42,3.58-8,8-8h56c4.42,0,8,3.58,8,8l0,0 C460,404.42,456.42,408,452,408z" />
</g>
</svg>
我想为它动态添加文本。我在这里看到了许多类似的问题,但其中大多数涉及根据 path 元素的 x 和 y 属性为 text 元素指定 x 和 y 属性。但是,我的 path 没有这样的属性。
我尝试使用带有 xlink:href 的 textPath 元素指向我的路径。我被附加到 path,但文本包裹了我的 path 元素,而不是在其中。
那么,有没有办法做到这一点?我在这里接受不同的解决方案。我的梦想是使用 javascript 获取 path 元素并从那里添加文本。但我也可以编辑基本 SVG 文件以添加 text 或任何其他相关元素和属性以使其工作,只要我以后可以从 javascript 动态更改文本。由于这个 SVG 是由 Illustrator 制作的,我还可以在那里尝试不同的导出选项,以获得适合我的目标的输出。
【问题讨论】:
-
获取路径的边界框,然后使用它来确定放置文本的位置。
-
您的 sn-p 不起作用
-
@MichaelRovinsky 感谢您的指点,我编辑了问题以解决它
标签: javascript svg text