将文本中心对齐SVG圈下方?

use*_*177 5 html svg

假设我有以下SVG:

<g transform="translate(300, 300)">
    <circle r="5px"></circle>
    <text>My Label</text>
</g>
Run Code Online (Sandbox Code Playgroud)

我需要标签在圆圈下方居中.这个问题有一个简单的解决方案吗?

Jas*_*ler 5

一种选择:

<g transform="translate(300, 300)">
    <circle r="5px"></circle>
    <text baseline-shift="-20px" text-anchor="middle">My Label</text>
</g>
Run Code Online (Sandbox Code Playgroud)

-20px取决于你的字体大小,也许有人有相对的方式来做下降,但是text-anchor="middle"文本会使文本居中.

  • 您可以使用`em`单位为您提供基于font-size的值.我不认为所有浏览器都支持`baseline-shift`,所以我建议改用`y`或`dy`.在给出的例子中,这将是`<text y ="5"dy ="1em"text-anchor ="middle"> My Label </ text>`,因为5是圆的半径,我们需要由当前字体大小偏移以使文本位于圆圈下方. (3认同)