使用CSS根据父容器静态宽度强制使用长行文本(不含空格)换行

ano*_*one 40 css

可能重复:
CSS:如何强制将长字符串(没有任何空白)包装在XUL和/或HTML中

让我们说一个有以下代码:

<div style="width:100px;height:1000px">This-is-a-long-line-of-text-without-any-spaces-This-is-a-long-line-of-text-without-any-spaces-This-is-a-long-line-of-text-without-any-spaces-This-is-a-long-line-of-text-without-any-spaces</div>
Run Code Online (Sandbox Code Playgroud)

我道歉但堆栈溢出(根据预览)不会换行代码片段.

在大多数(?)情况下,以下内容将使包含长行文本的容器拉伸到其中包含的文本的整个宽度.

我们想根据父容器的css指定宽度(宽度:100px)强制执行换行符(甚至是中间单词).

这可能是通过我不知道的css标签吗?

IE6 +可比性,请加gecko/webkit/opera.

Mr.*_*ien 75

您可以使用它来包装:

.wrap { 
   white-space: pre-wrap;      /* CSS3 */   
   white-space: -moz-pre-wrap; /* Firefox */    
   white-space: -pre-wrap;     /* Opera <7 */   
   white-space: -o-pre-wrap;   /* Opera 7 */    
   word-wrap: break-word;      /* IE */
}
Run Code Online (Sandbox Code Playgroud)

  • 所有浏览器都支持IIRC`word-wrap`.所以不需要做所有浏览器特定的东西. (5认同)
  • `white-space: pre-wrap` 在 Chrome (54) 中不起作用,但 `word-wrap: break-word` 可以。 (2认同)
  • 2019 年的今天,你可以只指定 overflow-wrap: break-word; (2认同)

Pau*_*ing 6

结合word-wrapword-break可能为您解决此问题.请参阅如何在DIV中的loooooong单词中强制换行?(可能的欺骗)