2014-02-28 68 views
3

有一個網站與希臘文本,其中我有這個div,我已應用text-transform:uppercase風格。希臘文本IE8問題與CSS文本轉換

<div class="greek" style="text-transform:uppercase;">Υπηρεσίες</div> 

小寫:Υπηρεσίες

轉化爲大寫:ΥΠΗΡΕΣΊΕΣ

所以笏它在IE8是它表明,除了一個字母大寫文字「ς」

等IE8它顯示它想:ΥΠΗΡΕΣΊΕς

嗯,這適用於所有的瀏覽器(FF,Chrome瀏覽器,IE9,IE10,IE11)的罰款,但不是在IE8。

那麼它變換「σ」「Σ」,但不列入改造「ς」

是否有人有這個一個任何CSS的解決方案?

+0

這是一個字體問題,而不是css – pstenstrm

+0

如果您的網站針對的是手持設備,請不要麻煩去修復它。如果不是這樣,IE8用戶每天都在減少,他們中的大多數人都知道一些網站可能與「舊瀏覽器」不一樣。 – LGSon

+0

@PellePenna:是的,真正的IE8用戶正在下降,但對於我們來說,我們必須解決這個問題,因爲很多客戶根據分析使用IE8。 pstenstrm:你有沒有遇到過這樣的錯誤。我試圖改變字體,但它的力量工作.. – nipiv

回答

4

這是瀏覽器中的缺陷/缺陷。根據規範,text-transform必須應用Unicode大小寫映射規則,其中包括將最終小西格瑪「ς」映射爲大寫西格瑪「Σ」。 (他們應該大寫字母映射到小寫映射的方式,將word-final「Σ」映射到「ς」,但這是一個不同的問題,並且更復雜。)但是一些瀏覽器仍然無法做到這一點。

CSS中沒有任何東西可以做到這一點。客戶端,你可以做的就是讓JavaScript代碼通過內容轉換來解決這個問題。但是在服務器端做更好。如果您希望以這種方式顯示內容,或者(如果它來自外部源),請使用所有大寫字母編寫內容,然後使用您使用的任何服務器端工具進行映射。

請注意,當您嘗試使用CSS大寫希臘文字時,您也有其他問題。正如屏幕截圖所示,帶有tonos「ί」的小iota已經轉變爲帶有tonos「Ί」的首都iota。這在希臘規則中用大寫字母來表達是不正確的; tonos(尖銳的重音)應該被省略。大多數瀏覽器都沒有這樣做(火狐瀏覽器)。