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

如何修改SVG路径方向,使文本位于半圆内侧?

简洁修改方案

要让文本显示在半圆内侧,只需对路径和文本属性做两处关键修改,代码保持极简,便于后续通过滑块调整参数:

1. 修改圆弧路径的绘制方向

将原路径的sweep-flag(A命令的第6个参数)从1改为0,圆弧会沿逆时针方向绘制,形成向下凹陷的半圆,文本沿此路径排列时会自动处于内侧:
原路径:

d="M 300 10 A 100 100 0 0 1 100 10"

修改后路径:

d="M 300 10 A 100 100 0 0 0 100 10"

2. 精简冗余文本属性

移除不必要的私有属性(如_lengthAdjust、_textLength等),仅保留核心对齐属性,方便后续动态调整:
修改后的文本代码:

<text font-size="24">
  <textPath dominant-baseline="middle" text-anchor="middle" startOffset="50%" xlink:href="#demo">
    Bienvenido 2024
  </textPath>
</text>

完整修改后的SVG代码

<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" id="svg1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 500 500">
  <path id="demo" fill="transparent" d="M 300 10 A 100 100 0 0 0 100 10" stroke="Black" stroke-width="2" />
  <text font-size="24">
    <textPath dominant-baseline="middle" text-anchor="middle" startOffset="50%" xlink:href="#demo">
      Bienvenido 2024
    </textPath>
  </text>
</svg>

后续扩展(模拟抛物线)

若要通过HTML滑块调整高度,只需动态修改路径中的第二个100(即圆弧的垂直半径ry),将其绑定到滑块的value值,即可实现半圆到抛物线形态的过渡效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 13:17:25