请马上登录,朋友们都在花潮里等着你哦:)
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 马黑黑 于 2025-9-29 13:24 编辑
假设我们有一个半圆弧路径和一行文本,如下:
现在我们希望文本沿着路径走且文本处在路径的中央即在水平方向文本是居中的。实现此需求,需要:
① <text> 标签 x、y 均设为 0,水平对齐 anchor 设为 middle;
② 文本使用<text> 标签的子标签 <textPath> 装载;
③ <textPath> 标签绑定路径;
④ <textPath> 标签设置文本起点偏移量 startOffset 为 50%;
【核心】
text-anchor 设为 middle 使得文本的右端在路径上居中,startOffset 设为 50% 是的文本左端起点偏移路径的一半距离,两者结合恰好令文本在路径的两端范围内居中。
以下是 svg 完整代码:
<svg width="600" height="300">
<path id="txtpath" d="M10 280 Q300 -150,590 280" fill="none" stroke="rgba(0,0,0,.25)" stroke-width="4" />
<text x="0" y="0" fill="teal" style="font: bold 2.6em sans-serif; letter-spacing: 4px; text-anchor: middle;">
<textPath href="#txtpath" startOffset="50%">花朝论坛天下花潮</textPath>
</text>
</svg>
效果:
|