【发布时间】:2023-01-13 02:24:32
【问题描述】:
我有这个简单的 SVG,里面有文本,在 chrome 和 Safari 上它工作正常,但在 FIREFOX 上,文本的最后一个字母根本没有显示。 (在这种情况下,来自“atul”的“l”未在 Firefox 上显示。)
<svg viewBox="0 0 100 100" height="250" width="250">
<path id="p1" d="M50 10 a 40 40 1 1 0 1 0" pathLength="1.99" style="fill: red;"></path>
<text font-size="6" text-anchor="middle">
<textPath href="#p1" startOffset="1" side="center" style="letter-spacing:1px;font-weight:600;text-transform:uppercase; dominant-baseline: ideographic;">Atul</textPath>
</text>
</svg>
只需将此 svg 复制并粘贴到您的 HTML 中,然后尝试在 Firefox 中呈现它。
如果有人可以解释,我想了解问题以及解决方案。
提前致谢。
【问题讨论】:
-
看起来像 textPath 中的 Firefox 错误 - 只需在最后一个字母后添加一个空格,一切都会正常显示。
-
@MichaelMullany,是的,它已经解决了这个问题并且已经用这个技巧修复了,但我也想了解原因。
-
与您的问题无关的观察结果:您可以使用
startOffset="50%"而不是pathLength而不是pathLength="1.99"和startOffset="1"