• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

在 SVG 圆圈内完美地居单个字符?

用户头像
it1352
帮助1

问题说明

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

I'd like to place a single character, perfectly centered, inside this circle:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve"   height="100">
  <g>
    <circle   cx="50" cy="50" r="50">
    </circle>
    <text>C</text>
  </g>
</svg>

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

Ideally, the solution works for any single ASCII character.

感谢您的帮助!

正确答案

#1

使用 text-anchor="middle" 使文本水平居中,dominant-baseline="central" 使其垂直居中.

Use a combination of text-anchor="middle" to centre the text horizontally, and dominant-baseline="central" to centre it vertically.

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

To simplify things, I've added a transform attribute to your <g> element to move the origin to the middle of your canvas.

<svg xmlns="http://www.w3.org/2000/svg"     viewBox="0 0 100 100">
  <g transform="translate(50,50)">
    <circle   r="50" />
    <text text-anchor="middle" dominant-baseline="central">C</text>
  </g>
</svg>

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /reply/detail/tanhcgabbc
系列文章
更多 icon
同类精品
更多 icon
继续加载