【发布时间】:2014-02-19 17:59:47
【问题描述】:
假设我有以下 SVG:
<g transform="translate(300, 300)">
<circle r="5px"></circle>
<text>My Label</text>
</g>
我需要标签在圆圈下方居中。这个问题有简单的解决方案吗?
【问题讨论】:
假设我有以下 SVG:
<g transform="translate(300, 300)">
<circle r="5px"></circle>
<text>My Label</text>
</g>
我需要标签在圆圈下方居中。这个问题有简单的解决方案吗?
【问题讨论】:
一个选项:
<g transform="translate(300, 300)">
<circle r="5px"></circle>
<text baseline-shift="-20px" text-anchor="middle">My Label</text>
</g>
-20px 取决于您的字体大小,也许有人有相对的放置方式,但 text-anchor="middle" 将使文本居中。
【讨论】:
em 单位根据字体大小给您一个值。我不认为所有浏览器都支持baseline-shift,所以我建议使用y 或dy。在给出的示例中,这将是 <text y="5" dy="1em" text-anchor="middle">My Label</text>,因为 5 是圆的半径,然后我们需要将其偏移当前的字体大小以使文本位于圆下方。