如何使用CSS防止列表项中的换行符


513

我正在尝试使用标签在菜单中放置一个名为“ 提交简历”的链接li。由于两个单词之间存在空格,因此将其包装为两行。如何防止CSS包裹?

Answers:


969

使用white-space: nowrap;[1] [2]或通过将li的宽度设置为更大的值来给该链接更多的空间。


[1] §3.空格和环绕:空格属性-W3 CSS文本模块级别3
[2] 空格-CSS:级联样式表| MDN


41
您应该引用W3C而不是那些可怕且经常不正确的w3schools网站。w3.org/TR/css3-text/#white-space0
塞巴斯蒂安·马丁

53
或只是参考Mozilla开发人员网络developer.mozilla.org/en-US/docs/CSS/CSS_Reference
Chris Esplin 2012年

4
我使用防止了li项目中的换行display: inline;。也许这也将帮助其他有类似问题的人。

注意显示很重要:内联,因为它可能会有副作用。空白:nowrap; 只有一种效果。
克里斯彭·史密斯

在这种情况下,会发生文本溢出。如何预防呢?

147

如果内容较大以适合一行,则可以添加以下代码片段以在行尾添加漂亮的“…”:

li {
  overflow: hidden; 
  text-overflow: ellipsis;
  white-space: nowrap;
}

我一直在寻找一种文本夹紧解决方案,但我会坚持使用该解决方案
JorgeGarza


14

显示:inline-block; 可以防止列表项中的单词之间出现断线

 li {
    display: inline-block;
 }

1
如果我单击jsfiddle并调整输出的宽度,则单个列表项会在单词“ list”和数字之间中断,而这恰恰是OP所希望的……
GentlePurpleRain

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.