描述问题的最简单方法是举例:http://jsfiddle.net/trSwG/1/
第一段非常棒,它会按照我想要的方式显示。无论第一行添加了多少空白,它都会被截断,并且不会被包裹到第二行。
第二段是问题所在。单词“case”之前的空格不应该包含在这一行中,我希望它保持在上面一行,并像第一段中的行为一样。
第三段也很好,这只是为了表明我希望保留空白区域。同样值得注意的是我不想破坏文字(断言:打破所有)。
我在下面附上了一个截图,以防万一它在您的浏览器上呈现不同。我使用的是Chrome 28.0.1500.72 m:
您会注意到我正在使用lettering.js plugin来包裹范围内的每个字符,这是我们正在开发的功能所必需的。
到目前为止我学到了什么:
如果您删除字母调用,似乎跨度会导致问题:
//$('p').lettering();
这一切都在我需要的时候起作用。不知何故,跨度的行为与普通文本不同。
更新:无法手动编辑html本身。它由Flash内容管理工具创建,并与其他属性一起保存为XML。这些xml文档有数千种。服务器有机会在将XML作为HTML发送到前端之前对其进行处理,因此任何涉及更改html的解决方案都需要编写脚本。
答案 0 :(得分:0)
修改强>
简单地用CSS:
p {
width: 160px;
white-space: pre-line;
font-family: Arial;
font-size: 13px;
}
p:last-child {
white-space: pre-wrap;
}
答案 1 :(得分:0)
原来是版本28中的Chrome错误:https://code.google.com/p/chromium/issues/detail?id=246127
它已在目前的测试版29中修复,只是时间推移到公共版本之前。