如果我想在看起来像三个空格的行的中间有空格,我可以在HTML中使用什么,但如果行太长,仍然可以破坏?
常规空格会折叠(一系列空格看起来与单个空格相同),并且在非破坏空间( )处不会破坏该行.
更新:我认为我真正想要的是一个<pre>标签仍然可以打破长线(我需要显示源代码).
小智 21
我实际上有你正在寻找的确切答案.我到处寻找这个答案,没有任何人建议完美的工作.所以,我想出了一个解决方案并尝试了它,并且它没有任何缺陷!
Garrow实际上是正确的(他只是没有解释它或一直采取它).解决方案不是 单独放,而是放 <wbr>.只需进行简单的搜索并替换并<wbr>在每次之后添加标记 .完美的工作!
该<wbr>标签是在所有主流浏览器,告诉浏览器把这里换行只有在需要的时候支持一个鲜为人知的标签.
更新:我发现一个浏览器在IE 8中无法正常工作!他们实际上取出了<wbr>标签!我通过创建一个类来解决这个问题:
.wbr:before { content: "\200B" }
Run Code Online (Sandbox Code Playgroud)
和而不是替换 用 <wbr>,用以下内容替换它:
<wbr><span class='wbr'></span>
Run Code Online (Sandbox Code Playgroud)
在PHP中,这看起来像:
$text = str_replace(" "," <wbr><span class='wbr'></span>", $text);
Run Code Online (Sandbox Code Playgroud)
别忘了添加课程.
显然这已经变得相当过分,用所有这些替换了单个空间,但它确实可以正常工作,因为我从未看过它对我起作用的标记.
如果这太乱了,另一个解决方案是交换双空格, 然后是普通空格.这将是替代 和普通空间,并在我的测试中工作.
在PHP中,这看起来像:
$text = str_replace(" "," ", $text);
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!我对此进行了足够的研究; 我以为我应该传递它.