2014-08-27 59 views

回答

3

如果瀏覽器以特定的方式實現了text-transform: uppercase,那麼在CSS中就沒有辦法做到這一點。

效果在CSS 2.1中有模糊的定義。特別是,它沒有說明應該如何處理「ß」。 CSS3文本(工作草案,因此工作正在進行)說,使用Unicode中定義的默認情況下映射。他們指定「ß」映射到「SS」。但IE不這樣做;直到版本7爲止,它將「ß」完整地保留在大寫字母中,並且從版本8開始,它將其映射到「ẞ」U + 1E9E拉丁大寫字母夏普S(這是一種不同的映射,現在在德國已經有所使用)。

所以,CSS無法解決這個問題。通常最好在服務器端或創作程序中進行大小寫映射。也就是說,如果你想顯示「STRASSE」,寫「STRASSE」而不是寫「Straße」,並試圖用CSS將其大寫。 (你真正想要顯示相同數據的情況實際上是相當罕見的,所以沒有太多意見將普通的混合大小寫文本作爲內容並僅在渲染時將其大寫)。

如果出於某種原因這是不可能的(例如,數據是通過使用Ajax的外部資源動態發佈的),則可以使用簡單的JavaScript來執行數據本身的替換。