如何在SVG圆内完美地使单个字符居中?

Set*_*add 2 svg

我想在此圆内放置一个完全居中的单个字符:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" width="100" height="100">
  <g>
    <circle style="fill:#eeeeee" cx="50" cy="50" r="50">
    </circle>
    <text>C</text>
  </g>
</svg>
Run Code Online (Sandbox Code Playgroud)

理想情况下,该解决方案适用于任何单个ASCII字符。

谢谢您的帮助!

squ*_*age 5

结合使用text-anchor="middle"可以使文本水平dominant-baseline="central"居中,垂直居中。

为简化起见,我在元素中添加了一个transform属性,<g>以将原点移动到画布的中间。

<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100">
  <g transform="translate(50,50)">
    <circle style="fill:#eeeeee" r="50" />
    <text text-anchor="middle" dominant-baseline="central">C</text>
  </g>
</svg>
Run Code Online (Sandbox Code Playgroud)