现代浏览器,如 firefox、chrome 等,使用 text-transform:uppercase 将“ß”(Eszett 字符)转换为大写“SS”,但 IE 不支持此操作。知道如何执行此操作。
最佳答案
如果浏览器以特定方式实现了 text-transform: uppercase
,则您在 CSS 中无能为力。
CSS 2.1 中对该效果的定义很模糊。特别是,它没有说明“ß”应该如何处理。 CSS3 Text(工作草案,因此正在进行中)表示使用 Unicode 中定义的默认大小写映射。他们指定“ß”映射到“SS”。但 IE 不这样做;在版本 7 之前,它保留“ß”完整的大写形式,从版本 8 开始,它将其映射到“ẞ”U+1E9E 拉丁文大写字母升号 S(这是一种不同的映射,现在在德国有一定程度的使用)。
所以,CSS 无法解决这个问题。通常最好在服务器端或在创作程序中进行案例映射。也就是说,如果你想显示“STRASSE”,就写“STRASSE”,而不是写“Straße”并尝试用CSS将其大写。 (您真正想要按原样或大写显示相同数据的情况实际上相当罕见。因此,将正常的混合大小写文本作为内容并仅在渲染时将其大写的想法没有多大意义。)
如果由于某种原因这是不可能的(例如,数据通过 Ajax 动态地来自外部资源),您可以使用简单的 JavaScript 在数据本身中执行替换。
关于css - 将字符 "ß"(大写 Eszett 字符)转换为 IE 的 "SS",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25533083/