如何在固定宽度范围内换行或中断长文本/单词?

Posted

技术标签:

【中文标题】如何在固定宽度范围内换行或中断长文本/单词?【英文标题】:How can I wrap or break long text/word in a fixed width span? 【发布时间】:2013-08-16 00:37:28 【问题描述】:

我想创建一个固定宽度的跨度,当我在该跨度中键入任何内容时,例如<span>lgasdfjksdajgdsglkgsadfasdfadfasdfadsfasdfasddkgjk</span>,一长串无间隔的文本,单词会中断或换行到下一行。

有什么想法吗?

【问题讨论】:

【参考方案1】:

您可以使用 CSS 属性 word-wrap:break-word;,如果单词对于您的跨度宽度来说太长,它将破坏单词。

span  
    display:block;
    width:150px;
    word-wrap:break-word;
<span>VeryLongLongLongLongLongLongLongLongLongLongLongLongExample</span>

【讨论】:

适用于 asp.net 标签控件。谢谢! 添加 white-space: normal 有助于覆盖可能妨碍的外部样式:) .. inline-blockblock 一样有效 如何打破块元素内的两个跨度? 对于使用此答案后仍有问题的人,请务必指定“宽度”,否则可能无法正常工作 对于那些在使用此答案并指定 'width' 后仍然遇到问题的人,请检查是否存在 'white-space: nowrap' 道具,否则将无法正常工作【参考方案2】:

尝试在 css 中添加white-space:

span 
    display: block;
    word-wrap:break-word;
    width: 50px;
    white-space: normal;

【讨论】:

谢谢!我不明白为什么我的文字从不换行!空白是原因。 我的问题在我输入后也得到了解决:white-space: normal 这是一个参考表,以防您需要空格和换行:css-tricks.com/almanac/properties/w/whitespace【参考方案3】:

这样

DEMO

  li span
    display:block;
    width:50px;
    word-break:break-all;

【讨论】:

我的朋友我想放 span width:50px;我跨度中的值仅以 50px 显示,其他值继续到下一行并以 50px 显示!!! @mamal10 检查 Maxime Lorant 的解决方案。【参考方案4】:

默认情况下,spaninline 元素...所以这不是默认行为。

您可以通过将 display: block; 添加到您的 CSS 来使 span 以这种方式运行。

span 
    display: block;
    width: 100px;

【讨论】:

【参考方案5】:

试试这个

span 
    display: block;
    width: 150px;

【讨论】:

【参考方案6】:

只是为了扩展问题的实际范围并作为给定答案的附录: 有时可能会发现有必要多指定一些选择器。

通过将整个跨度定义为 display:inline-block,您可能很难显示图像。

因此我更喜欢这样定义一个跨度:

span 
  display:block;
  width:150px;
  word-wrap:break-word;      

p span, a span,
h1 span, h2 span, h3 span, h4 span, h5 span 
  display:inline-block;

img
  display:block;

【讨论】:

【参考方案7】:

在我的例子中, display: block 破坏了预期的设计。

max-width 属性刚刚救了我。

对于样式,您也可以使用text-overflow: ellipsis

我的代码是

max-width: 255px
overflow:hidden

【讨论】:

以上是关于如何在固定宽度范围内换行或中断长文本/单词?的主要内容,如果未能解决你的问题,请参考以下文章

JS代码仅在第一组文本的范围内换行,其余部分不这样做[重复]

如何在已格式化的字符串上添加文本换行或字符限制[重复]

td过长,将固定宽度table撑开

React-Native:避免文本换行

填充文本填充溢出不影响单词中断

html5文字自动换行怎么设置