Html 防止空白与word包装在一起

Html 防止空白与word包装在一起,html,css,whitespace,word-wrap,Html,Css,Whitespace,Word Wrap,描述我的问题最简单的方法是举例: 第一段很棒,它的显示方式正是我想要的。无论第一行添加了多少空白,它都会被截断,而不会被包装到第二行 第二段是问题所在。“case”一词前面的空格不应包括在这一行中,我希望它保持在上面的一行,并像第一段中那样 第三段也不错,这只是为了表明我希望保留空白。还值得注意的是,我不希望单词被打断(单词打断:全部打断) 我在下面附上了一个屏幕截图,以防它在浏览器上呈现不同。我使用的是Chrome 28.0.1500.72 m: 您会注意到,我使用将每个字符包装在一个范围内

描述我的问题最简单的方法是举例:

第一段很棒,它的显示方式正是我想要的。无论第一行添加了多少空白,它都会被截断,而不会被包装到第二行

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

第三段也不错,这只是为了表明我希望保留空白。还值得注意的是,我不希望单词被打断(单词打断:全部打断)

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

您会注意到,我使用将每个字符包装在一个范围内,这是我们正在开发的功能所必需的

到目前为止我学到的:

如果您删除字母呼叫,似乎是跨距造成了问题:

//$('p').lettering();
这一切都是我需要的。不知何故,跨距的作用与普通文本不同

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

EDIT

在CSS中简单地说:

p {
    width: 160px;
    white-space: pre-line;    
    font-family: Arial;
    font-size: 13px;
}
p:last-child {
    white-space: pre-wrap;    
}

原来是28版中的一个Chrome bug:


它在目前的beta版本29中得到了修复,在推送到公共版本之前只是时间问题。

为没有提及如此关键的内容表示歉意-手动编辑html不是一个选项。我已经更新了关于为什么的问题。然后可以使用JavaScript replace()方法,用换行符替换第一句话后的空格。这个解决方案对于这种情况太特殊了。这些段落可以是任何顺序。下面是一个更复杂的示例:。我希望它看起来像这样:(注释掉letting.js)。它们在我的谷歌浏览器上看起来一模一样:[与P相同,与PRE相同]这是特定浏览器上的问题吗?有趣。你的Chrome版本是什么?那你想要什么?仅对第一行禁用文本换行?在这个简化的示例中,主要是我不希望第二段中的单词“case”缩进一个空格。在我看来,空格字符应该保持在第一行,就像第一段一样。更好的例子可能是:。请注意,文本没有整齐地向左对齐。空白处如何:行前?不幸的是,pre-line并没有保留空白。它打破了第3段。我已经编辑了我的答案。您可以在空白处申请所有段落:行前;样式,而对于最后一个空白:预换行;