防止白色空间与单词包装在一起

时间:2013-07-19 10:26:10

标签: html css whitespace word-wrap

描述问题的最简单方法是举例:http://jsfiddle.net/trSwG/1/

第一段非常棒,它会按照我想要的方式显示。无论第一行添加了多少空白,它都会被截断,并且不会被包裹到第二行。

第二段是问题所在。单词“case”之前的空格不应该包含在这一行中,我希望它保持在上面一行,并像第一段中的行为一样。

第三段也很好,这只是为了表明我希望保留空白区域。同样值得注意的是我不想破坏文字(断言:打破所有)。

我在下面附上了一个截图,以防万一它在您的浏览器上呈现不同。我使用的是Chrome 28.0.1500.72 m:

example

您会注意到我正在使用lettering.js plugin来包裹范围内的每个字符,这是我们正在开发的功能所必需的。

到目前为止我学到了什么:

如果您删除字母调用,似乎跨度会导致问题:

//$('p').lettering();

这一切都在我需要的时候起作用。不知何故,跨度的行为与普通文本不同。

更新:无法手动编辑html本身。它由Flash内容管理工具创建,并与其他属性一起保存为XML。这些xml文档有数千种。服务器有机会在将XML作为HTML发送到前端之前对其进行处理,因此任何涉及更改html的解决方案都需要编写脚本。

2 个答案:

答案 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中修复,只是时间推移到公共版本之前。