Raphael JS / SVG 中的自动换行

5
你如何在RaphaelJS中或者浏览器基于SVG中让单词在框内换行?
我在这个问题上找到了一个关于它的讨论串,但是它并没有讲清楚。他们提到使用"widthToCharNum",但据我所知,这个词组只出现在了这个讨论串里。他们建议使用"width"属性,但是这并没有任何效果。
4个回答

3
文本换行在Raphael或SVG规范中并没有内置。作为一个来自HTML世界的人,我发现缺少文本换行非常令人震惊。
然而,你可以自己做到这一点而不需要太多的困难。请参见这个问题以获取详细信息和示例。不幸的是,你需要在客户端动态地消耗一些计算资源才能使它正常工作。

2

这个示例看起来很棒,但是似乎这个库已经不存在了... 我已经给Wout发送了一条消息,希望他能够澄清这件事,因为这看起来非常有前途! - Siyfion

0

我知道现在可能有点晚了,但你可能会对我的Raphael-paragraph项目感兴趣。

这是一个小型库,允许您创建带有最大宽度和高度约束、行高和文本样式配置的自动换行多行文本。它仍然相当于 Beta 版本,并需要很多优化,但它应该可以满足您的需求。

使用示例和文档可在 GitHub 页面上找到。


0

tspan标签可以产生换行的假象,但是没有内置的换行功能。

tspan标签与text标签相同,但可以嵌套在文本标签和自身内部。结合'dy'属性,这允许在SVG 1.1中产生换行的假象。请注意,'dy'是相对于最后一个绘制的字形(字符)的。有一个关于如何使用tspan的教程,请参见http://tutorials.jenkov.com/svg/text-element.html

文章http://www.xml.com/pub/a/2002/09/11/quint.html也可能会有用。


我在这些地方都没有看到“dy”被提及。那是什么? - Nick Retallack

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接