如果人物屬於不同的書寫系統,如拉丁語和希伯來語,或西裏爾字母和希臘,瀏覽器通常會自動爲他們使用不同的字體。但是,這隻發生在頁面未指定字體的範圍內,即僅與默認字體相關,並且所使用的字體由用戶控制的瀏覽器默認設置和瀏覽器設置確定。
雖然JayC的回答中描述的技術提供了部分解決方案,但您可以通過區分標記中不同語言的文本來獲得更好的瀏覽器覆蓋率。在雙語文檔中,對其中一個文本使用標記就足夠了(出於實際原因,使用較少的文本)。在gutch的答案中使用class
可以提供最好的覆蓋率,但是現在對CSS中的語言選擇器的支持非常廣泛,您可能會考慮使用更合理的lang
屬性。
<h1>Hello − <a lang=ru>Привет</а></h1>
那麼你可以使用規則像
[lang=ru] { font-family: ...; }
(我的例子有效地使用了<a>
元素的<span>
較短的變體。形式上,只有當文本不在外部<a>
元素內時纔有可能。)
但是,對於視覺樣式,只需要按語言選擇字體的相反方式。如果「Hello」中的「e」與同一行中的「Привет」中的Cyrillic「е」不同,那看起來很奇怪。如果可能的話,對文檔中的所有語言使用相同的字體幾乎總是更好。這意味着選擇適用於所有人的字體。
哎呀,不是字體問...我給你一個JSFiddle亂七八糟:-P – JayC 2012-04-05 03:15:00
非常感謝。最近將來所有瀏覽器都支持該功能嗎? – 2012-04-05 03:41:16
2011年10月4日的W3C工作草案(http://www.w3.org/TR/css3-fonts/)也提到了它,所以有人試圖使其成爲標準。 *它會成爲一個標準嗎?當然,這是另一個問題,我無法預測未來,但我可以稱之爲一個很好的指示。 – JayC 2012-04-05 13:49:19