7

有没有办法只在有空格的情况下自动换行?现在我让它打破了一些特殊字符(?-!),但我只想让它在制表符处打破以保持列直。

在此处输入图像描述

例子:

gw5g7#IVKNcvP02r    pFJxywU#B-L.Qp.f    u@hGsrr8g.S4,GtR    !t1oa(2%?tb()lML    -cky!YT8-/*xsCfT    nbjAekWZenH8udR8    sM*e@aSM#89C#$4Z    (r6+$]1j9mw)U72+    !V2O2_UO7(mMM6HP    o6u?D&97&QNJ93D1    .a,,hg%vtl[^PGLO    F(v*CP#aJD13_m&.    /9?[OL?ktCmv8gRP    6CSZuRuu98MT3*,R    O/cclHD+HrG4G^h9    JI]edN.F]hRg8,&n    -6S/S9U[Ai]Sh[8D    LM+Gpkk7-BP1pgpR    -XX4EZjb24Kl9Kgm    j!eK#0?i&kwo&ADg    lvZ@)T%xRFYOV#-.
4

1 回答 1

10

不,目前只有在有空格时才能以 CSS 方式自动换行。原因是浏览器应用了一些Unicode 换行规则,而不是前后一致。规则允许在许多点换行,例如在某些上下文中的某些标点字符之后。在CSS3 文本草案中,有一些提议的添加可以让作者更好地控制这些问题,但主要是关于渲染东亚语言。

您需要将文本片段包装在元素(如span)中并设置white-space: nowrap它们,或者使用更简洁的非标准但广泛支持的nobr元素。在示例情况下,这将相当简单,可以使用一小段 JavaScript 代码(或服务器端或在生成页面时在预处理器中)完成:

<nobr>gw5g7#IVKNcvP02r</nobr>    <nobr>pFJxywU#B-L.Qp.f</nobr>...

但是,尚不清楚是否应保留多个空格以及渲染上下文是什么(pre??textarea)。这是一个不同的问题,最好作为一个单独的问题来解决。

于 2013-08-09T06:41:41.510 回答