【发布时间】:2016-04-04 14:07:22
【问题描述】:
如何在 IE9、IE11 和 Firefox 中模拟 word-break: break-word;?
它似乎在 Chrome 中工作。我已经了解并理解它是非标准的,仅限 webkit。
仅供参考,我尝试过使用,
white-space: pre-wrap;
还有一些类似,
overflow-wrap: break-word;
还尝试了下面提到的 CSS,
word-wrap: break-word;
word-break: break-word;
但这些似乎不起作用。
我无法通过明确地将其设为
display: block;来为跨度(包含文本)提供固定宽度,因为文本是动态的并且会根据用户的地理位置而有所不同。目前我们支持大约 18 种语言。
这就是代码的样子,
html,
<div id="grid2">
<span id="theSpan">Product Support</span>
</div>
CSS,
#theSpan{
white-space: pre-wrap; /* CSS3 */
white-space: -moz-pre-wrap; /* Firefox */
white-space: -pre-wrap; /* Opera 7 */
white-space: -o-pre-wrap; /* Opera 7 */
word-wrap: break-word; /* IE */
word-break: break-all;
}
#grid2{
width: 100px;
}
看起来像这样,
我希望它像,
请注意:
对于某些语言,我不得不使用word-break: break-all;,翻译文本太长并且溢出网格。文本“产品支持”是动态的。
更新:
我对 id 为 grid2 的 div 有一个固定的宽度。在其中一种语言中,翻译后的文本太长,是一个单词,并且从 grid2 div 中流出。
也更新了代码。
【问题讨论】:
-
你能添加一个简单的现场演示吗?因为我认为不需要为上面的当前示例设置任何分词规则。
-
@Pangloss 是的,对于这个特定的网格,我知道它不是必需的,但是当我在其中一个网格中有一个长单词时出现问题,其中跨度中的文本溢出了 div。谢谢你的建议。将添加演示并尽快通知您。
标签: html css google-chrome internet-explorer firefox