强制TEXTAREA元素换行的最优雅方法,无论空白如何

时间:2020-03-05 18:48:47  来源:igfitidea点击:

HTML Textarea元素仅在到达空格或者制表符时才换行。没问题,直到用户键入足够足够的单词loooooooooooooooooooooooooooo为止。我正在寻找一种严格执行换行符的方法(例如:即使导致" loooooooooooooo \ n ooooooooooong")。

我发现最好的方法是在每个字母后添加一个零宽度的unicode空间,但这会破坏复制和粘贴操作。有人知道更好的方法吗?

注意:我在这里指的是" textarea"元素(即:与文本输入类似的行为),而不仅仅是普通的旧文本块。

解决方案

回答

至少有非标准元素wbr支持

Firefox,http://developer.mozilla.org/En/HTML/Element

Internet Explorer,http://msdn.microsoft.com/en-us/library/ms535917(VS.85).aspx

和歌剧。

回答

  • quirksmode.org概述了各种方法。
  • 有一个相关的SO问题:"在HTML中,如何在短划线处断字?"
  • 在支持该功能的浏览器中,word-wrap:break-word可能也会产生预期的效果。

回答

我测试了<wbr>和技术。这三者在IE 7,Firefox 3和Chrome中都运行良好。

唯一不会破坏复制/粘贴的是<wbr>标记。

回答

CSS设置word-wrap:break-wordtext-wrap:unrestricted似乎是CSS 3的功能。祝我们找到在当前实现中执行此操作的方法。

回答

根据我的测试,当前浏览器中只有Firefox具有上述行为。因此,我猜我们最好的选择是等待即将发布的Firefox 3.1解决问题:)