You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SVG实现Y轴方向半圆时如何避免文本显示错乱?

解决SVG文本沿垂直半圆路径排列错乱的问题

旋转path路径会连带改变文本的排版方向,导致显示错乱。直接定义垂直方向的半圆路径,就能避免这个问题,实现目标效果:

<svg
  height="300px"
  width="300px"
  viewBox="0 0 100 100"
  xmlns="http://www.w3.org/2000/svg"
>
  <path
    id="txt"
    fill="none"
    stroke="blue"
    d="M50 80 A10 10, 0, 0, 1, 50 20"
  ></path>
  <text>
    <textPath href="#txt" startOffset="50%" text-anchor="middle">prepare yourself</text>
  </text>
</svg>

修改要点:

  • 移除transform="rotate(90, 50 50)",直接通过d属性构造垂直圆弧:M50 80 A10 10, 0, 0, 1, 50 20,该路径以(50,50)为圆心、10为半径,从下方(50,80)延伸至上方(50,20),形成右侧半圆。
  • 将fill="blue"改为fill="none" stroke="blue",避免填充色遮挡文本,同时保留路径边框便于查看。
  • 添加startOffset="50%" text-anchor="middle",让文本在圆弧中间位置居中对齐,匹配目标效果。

如果需要调整文本朝向或半圆位置,可修改圆弧参数:比如把0 0 1改为0 0 0,会生成左侧半圆,文本方向也会相应改变。

内容的提问来源于stack exchange,提问作者fun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 15:15:30