答案是使用 white-space: nowrap 可禁止换行,需避免 word-wrap 或 br 标签影响,配合 overflow 和 text-overflow 可实现单行截断省略效果。
遇到CSS无法禁止换行的问题,通常是因为没有正确使用 white-space 属性。这个属性专门用来控制元素内空白符(空格、换行、制表符)的处理方式和文本是否换行。通过合理设置它,可以精准控制文本的换行行为。
white-space 提供多个可选值,针对不同场景控制换行与空白:
如果发现“无法禁止换行”,很可能是误用了 normal 或 pre-line,应改用 nowrap。
要让文本始终在一行显示,不换行:
.example {
white-space: nowrap;
}
配合 overflow: hidden 或 text-overflow: ellipsis 可实现截断加省略号效果:
.truncate {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
有时即使设置了 nowrap 仍换行,可能是以下原因:
根据需求选择合适搭配:
white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
white-space: pre-wrap;
white-space: pre;
基本上就这些。掌握 white-space 的行为逻辑,就能轻松控制文本是否换行,避免因默认样式导致的布局错乱。关键是根据内容类型选对值,不要只依赖 width 或 display 来控制换行。