【发布时间】:2019-05-23 00:04:49
【问题描述】:
我试图让一些文本适合圆形路径。这在 Firefox 和 Chrome 中可以正常工作,但是当我添加 textLength 属性时,Edge 会将文本变成螺旋状(需要它来适应整个圆圈)。
有没有办法解决这个问题,或者有什么不同的方法让文本完全合理?
(Edge 中的螺旋效果根据文本的不同而更加明显 - 从稍微向外到疯狂地偏离圆圈)
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="220" height="220">
<circle fill="#eeeeee" cx="110" cy="110" r="110"/>
<path id="textpath" stroke-width="1" stroke="#000" fill="transparent" d="M170 110c0 33.137-26.863 60-60 60s-60-26.863-60-60 26.863-60 60-60 60 26.863 60 60z"/>
<text dy="0" textLength="370" font-size="21px" fill="#444442">
<textPath xlink:href="#textpath">Reviews * Reviews * Reviews * Reviews *</textPath>
</text>
</svg>
【问题讨论】:
-
在这种情况下,您可能需要根据路径的长度重新计算字体大小的值。请看这个答案第二次更新:Animate marquee on SVG curve
-
@enxaneta 我有多个不同的文本,我需要它们具有相同的字体大小。
标签: javascript svg microsoft-edge