我刚刚发现了一个 IE9 错误的小宝石。似乎 IE9 没有将句点之前的空格识别为断点。如在域或文件扩展名列表中。在 IE9 中打开以下小提琴。
http://jsfiddle.net/cssguru/nNnzM/1/
我尝试使用转义字符,但没有帮助。关于解决方法的任何建议?
我刚刚发现了一个 IE9 错误的小宝石。似乎 IE9 没有将句点之前的空格识别为断点。如在域或文件扩展名列表中。在 IE9 中打开以下小提琴。
http://jsfiddle.net/cssguru/nNnzM/1/
我尝试使用转义字符,但没有帮助。关于解决方法的任何建议?
这是一个令人讨厌的功能,但它可能是故意的,供应商不认为它是一个错误。相反,它被认为是实现Unicode 换行规则(这在某种程度上是相当奇怪的)。根据这些规则,句点(或他们称之为 FULL STOP)具有换行类 IS、中缀数字分隔符和“当不用于数字上下文时,中缀分隔符是句尾标点符号。因此,他们总是事先防止休息。”</p>
为了处理这些问题,现在最好在普通空格和句点之间插入 U+200B ZERO WIDTH SPACE,例如
.web ​.shop ​.blog ​.nyc ...
U+200B 是一个控制字符,允许在原本不允许的地方换行。
旧的 IE 版本 (IE 6) 可能会遇到困难,在 U+200B 的位置显示不可表示字符的符号。另一种方法,<wbr>
标签,不会有这个问题,但似乎 IE 8 和更新版本经常无法尊重这个古老的标签(也许是因为它从未达到任何标准,尽管它很有用)。
我在您的 Fiddle 的此更新中添加了自动换行声明,这似乎已经解决了这个问题。