如何在不考虑空格和连字符的情况下换行文本

wal*_*elb 62 html css

我有一个 contenteditable div,用户可以在其中输入文本。我希望文本自动换行,但不像空格或连字符的默认换行,而是像这样:

This is some t
ext that conta
ins hyphenated
 words like th
is-thing-here,
 and also spac
es.
Run Code Online (Sandbox Code Playgroud)

我怎样才能实现这个目标?

小智 57

您可以使用 CSS 属性line-break: anywhere;


Ene*_*abi 8

<pre>如果事先知道的话,您可以尝试一下。如果不是的话,使用 JavaScript 是很好的。您可以 getElementById 并将其格式化为您喜欢的格式。


小智 5

我认为为了获得最大的浏览器兼容性,您应该查看 CSS 属性word-break: break-all

  • 分词和换行都有很好的兼容性,但看起来略有不同。该属性的 [CSS 规范](https://drafts.c​​sswg.org/css-text/#word-break-property) 表明分词主要用于破坏 CJK 文本中的拉丁文本,但它会不改变违规规则,例如关于标点符号的规则。相反,“line-break: Anywhere”应该认为所有字符都是真正相等的。不幸的是,W3Schools 和 MDN 对此都不太清楚。 (3认同)