将IE的字符“ß”(首都Eszett字符)转换为“SS”

时间:2014-08-27 17:07:13

标签: css unicode character

像firefox,chrome等现代浏览器使用text-transform将“ß”(Eszett字符)转换为大写的“SS”:大写,但IE不支持此。任何想法如何执行此操作。

1 个答案:

答案 0 :(得分:4)

如果浏览器以特定方式实现了text-transform: uppercase,那么在CSS中你无能为力。

CSS 2.1中的效果含糊不清。特别是,它没有说明应该如何处理“ß”。 CSS3文本(工作草案,因此正在进行中)表示使用Unicode中定义的默认大小写映射。它们指定“ß”映射到“SS”。但IE并没有这样做;直到版本7,它在大写字母中保留“ß”完整,并且从版本8开始,它将其映射到“ẞ”U + 1E9E LATIN CAPITAL LETTER SHARP S(这是一种不同的映射,现在在某种程度上在德国使用)。 / p>

所以,CSS无法解决这个问题。通常最好在服务器端或创作程序中进行大小写映射。也就是说,如果你想显示“STRASSE”,写“STRASSE”而不是写“Straße”并试图用CSS大写它。 (你真正希望以原样或大写形式显示相同数据的情况实际上相当罕见。因此,将正常的混合大小写文本作为内容并仅在渲染时将其大写的概念并没有多大意义。)

如果出于某种原因这是不可能的(例如,数据来自使用Ajax的外部资源),您可以使用简单的JavaScript在数据本身中执行替换。