7

Internet Explorer 9 和 10在使用 CSS 规则时不会正确地将德语es-zed " ß" ( ß, ' sz ') 更改为 " " 。这只是没有实现,还是我可以以某种方式处理的错误,而不是手动替换所有“”?SStext-transform: uppercase;ß

4

1 回答 1

17

这是一个特点。CSS 2.1 没有定义大写和小写的含义,IE 9 处理 U+00DF LATIN SMALL LETTER SHARP S “ß” 使其大写映射为 U+1E9E LATIN CAPITAL LETTER SHARP S “ẞ”(虽然有区别可能很难看到)。这发生在“标准模式”;在 Quirks 模式下,IE 9 将“ß”视为自己的大写映射。

这个特性很奇怪,因为通常的方法是将“ß”映射到“SS”,而大写的“ẞ”是几年前添加的,用于在单词大写的相对少数情况下可选使用,以便区分例如必须保留 Strauss 和 Strauß 的名称

CSS 3 文本工作草案规定应根据 Unicode 应用大小写映射,它们将“ß”映射到“SS” 。如果它将成为推荐,那么该功能就会变成一个错误。

通常,在 CSS 中进行大小写映射是不可靠的。最好在适当的情况下生成内容,如果需要,在服务器端执行映射。然后您可以单独处理任何特殊情况。您还可以使用客户端 JavaScript;在 JavaScript 中,大小写转换是 Unicode 感知的(JavaScript 已经很好地全球化的少数领域之一)。

于 2013-02-24T21:12:17.407 回答