【问题标题】:Workaround for break-word in FirefoxFirefox 中断词的解决方法
【发布时间】:2015-09-22 08:11:18
【问题描述】:

我使用样式 white-space: preword-wrap: break-word 的组合来允许在文本区域中的任何位置进行软换行,而不管单词边界。

textarea { font-family: monospace; white-space: pre; word-wrap: break-word; }
<textarea cols="40" rows="10">
(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)
</textarea>

这就是我想要的,以及我在除 Firefox 之外的所有浏览器中得到的。

这是 Firefox 呈现的内容:显然,word-wrap 样式被忽略了。

最后,让我看看如果white-space: pre 被删除会发生什么。请注意仅在括号后换行。在这种情况下,word-wrap: break-word 完全没有区别。我也不想要这个。

所以我的问题是,如何说服 Firefox 像第一张图片一样在文本区域中格式化我的示例用户输入,允许在任何字符后进行软换行?

【问题讨论】:

    标签: javascript html css firefox textarea


    【解决方案1】:

    你需要使用word-break: break-all;white-space: pre-line;

    textarea {
      font-family: monospace;
      white-space: pre-line;
      word-break: break-all;
      word-wrap: break-word;
    }
    &lt;textarea cols="41" rows="10"&gt;(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)(ABCDefgh1234)&lt;/textarea&gt;

    【讨论】:

    • 您可能在页面加载时看不到此功能,请尝试调整文本区域的大小
    猜你喜欢
    • 2011-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多