仅按空白划分线

时间:2013-08-08 21:44:27

标签: css line-breaks

只有在有空白区域时,有没有办法自动换行?现在我打破了一些特殊字符(?-!),但我只想在标签处打破以保持列直。

enter image description here

示例:

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#-.

1 个答案:

答案 0 :(得分:5)

不,目前还没有办法用CSS方式进行自动换行,只有在有空格时。原因是浏览器应用了一些Unicode line breaking rules,而不是一致。规则允许在许多点进行换行,例如在某些情况下,在一些标点字符之后。在CSS3 Text草案中,有一些建议的补充可以让作者更好地控制这些问题,但主要是关于渲染东亚语言。

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

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

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