5

我刚刚发现了一个 IE9 错误的小宝石。似乎 IE9 没有将句点之前的空格识别为断点。如在域或文件扩展名列表中。在 IE9 中打开以下小提琴。

http://jsfiddle.net/cssguru/nNnzM/1/

我尝试使用转义字符,但没有帮助。关于解决方法的任何建议?

4

2 回答 2

6

这是一个令人讨厌的功能,但它可能是故意的,供应商不认为它是一个错误。相反,它被认为是实现Unicode 换行规则(这在某种程度上是相当奇怪的)。根据这些规则,句点(或他们称之为 FULL STOP)具有换行类 IS、中缀数字分隔符和“当不用于数字上下文时,中缀分隔符是句尾标点符号。因此,他们总是事先防止休息。”</p>

为了处理这些问题,现在最好在普通空格和句点之间插入 U+200B ZERO WIDTH SPACE,例如

.web &#x200b;.shop &#x200b;.blog &#x200b;.nyc ...

U+200B 是一个控制字符,允许在原本不允许的地方换行。

旧的 IE 版本 (IE 6) 可能会遇到困难,在 U+200B 的位置显示不可表示字符的符号。另一种方法,<wbr>标签,不会有这个问题,但似乎 IE 8 和更新版本经常无法尊重这个古老的标签(也许是因为它从未达到任何标准,尽管它很有用)。

于 2012-09-11T20:10:12.680 回答
0

在您的 Fiddle 的此更新中添加了自动换行声明,这似乎已经解决了这个问题。

于 2012-09-11T19:21:18.293 回答