如何使一段文本不换行?

73

假设我有一个这样的文本:

Hello I am some text Hello I am some text Hello I am some text Hello I am some text I do not wish to be broken on new lines

考虑上述段落,如果可能的话,我希望加粗的部分不要被分成新行。也就是说,如果它需要滚动条或其他东西来显示,我希望它能在该文本片段前后插入换页符而不会折断它,以便它可以适合于一行。

这种情况怎么实现呢?我已经尝试了像“page-break-inside”之类的东西,但似乎在火狐浏览器中并没有起到任何作用。

3个回答

138

使用white-space属性:

Hello I am some text Hello I am some text Hello I am some text
Hello I am some text <span class="nobr">I do not wish to be
broken on new lines</span>

使用:

span.nobr { white-space: nowrap; }

1
我考虑过这个问题,但我认为它会导致不必要的滚动条,但实际上并没有。谢谢! - Earlz
3
@Earlz...所以你考虑过这个解决方案,但在尝试之前就问了吗?这在这里是大忌!:P - xDaizu
4
Stackoverflow六年前与现在差别很大。 - Earlz
如果有其他断行点,例如两个文本片段中的一个或两个无法断开,则空格属性不会导致水平滚动条。非常有用。 - Roland

12

为了完整起见,添加以下内容:

如果您不想使用CSS,则可以使用<nobr>text with space</nobr> - 参考此处

对于纯文本块,我认为像<i><b><nobr>等不再被弃用的HTML格式标记是有效的。

对于与网站结构相关的内容,请使用<em><strong><span class="">


顺便说一下,它不是也不能被弃用。请参见:https://dev59.com/El4b5IYBdhLWcg3w7Fcv#28532140 - BananaAcid
nobr 不是标准的,应该使用 white-space。参考链接:https://developer.mozilla.org/nl/docs/Web/HTML/Element/nobr - Roland
1
但是空格并不能防止非文本分割(例如音标符号),所以<nobr>是一个救星=] - MrVocabulary

7

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