这似乎是一个奇怪的要求,但我需要设置单个字符的宽度,并让它们在流动段落中表现得像普通文本一样。这是一个例子:
除了丑陋之外,这很好,除了在包装时单词被分成两半。关于如何解决这个问题的任何想法?
如果将显示更改为“内联”,则换行会起作用,但不能为内联元素指定宽度。
使用字母间距而不是宽度可能就足够了,但我需要计算如下:
width = letter-spacing - (actual character width as rendered)
但同样,获得内联元素的实际宽度似乎很棘手。
事物的 html/text 方面不容易修改(例如,添加手动换行符和设置 css nowrap 等解决方案),它是由单独的服务发送的,因此它的任何处理都需要自动化。
注意:字体必须是Arial,所以不是等宽字体,需要支持IE8+
编辑:抱歉,它需要支持内部格式化标签,如 strong 或 em(更新示例)。这在 letteringjs 中通常不支持,所以我使用这个 fork 来防止这些标签被剥离:
https://github.com/maranomynet/Lettering.js/blob/master/jquery.lettering.js