2011-10-19 30 views
2

我有這個在我的CSS:將Droid Serif字體分配給HTML元素,但我的Android手機仍顯示Droid Sans?

.like-counter span, .entry-content h2 { 
    color: #444; 
    font-family: Bitstream Charter, "Droid Serif", Gerogia, serif; 
    font-weight: bold; 
} 

在我的電腦,我看到了serif字體。如果我刪除第一個,那麼我會看到Droid Serif字體。我認爲這種字體是Android設備的默認字體。

但是,當我在我的Android手機上打開網站。我仍然在看Droid Sans。

這可能是什麼原因造成的?

編輯:

我發現,當我在Android的默認瀏覽器顯示頁面的問題只發生。在Firefox中,我可以看到Droid Serif字體(奇怪)。

+0

Android瀏覽器允許您使用自定義字體嗎? – Blender

+0

@Blender如何檢查? – alexchenco

+0

在Android瀏覽器中打開它:http://www.w3.org/Style/Examples/007/fonts.en.html – Blender

回答

3

而不是猜測默認的字體,你可以使用通用的serif字體:

font-family: serif; 

serif將是瀏覽器的默認serif字體。

+1

這種類型的幫助,但僅限於在Android上獲取襯線字體。由於在任何*瀏覽器上,通用名稱「serif」具有含義,並且您總是會*獲取每個瀏覽器的默認serif字體,所以它幾乎違背了具有特定字體列表的想法。就像你僅僅使用'font-family:serif'一樣。 –

+0

@ JukkaK.Korpela:謝謝,修正。 – Blender

2

在較舊的Android系統(直到我沒有意識到的版本)瀏覽器而不是檢查可能的字體的完整列表時,它檢查該字體系列的第一個條目,並且如果它已被瀏覽器,用什麼來代替它,然後它會使用它,否則它會扔掉整個列表。
這是值得注意的,如果你只是使用Times例如它將使用Droid Serif,但是如果你在它之前添加一些花哨的字體,它將使用Droid Sans,其餘的方面。

很明顯,它會工作,如果你把「 serif 」放在第一位,但所有的瀏覽器都使用默認serif字體,而不是你想要的。由於舊版Android上字體選擇的簡單性,您可以將"serif"家族添加到第一個位置,在舊版Android上它將被解釋爲Droid Serif,但其他瀏覽器對於名爲「的字體會看起來(並希望失敗) serif 」。

另外—有趣—這些Android瀏覽器都不知道Droid字體。

+1

所以這個解決方法將意味着使用例如'font-family:「serif」,格魯吉亞比特流憲章,serif;',''serif''中的引號是必不可少的,使它成爲一個特定的字體名稱,假設只能被舊的Android瀏覽器識別,手不能正確處理'font-family'(至少到版本2.3.5)。這樣,舊的Android將使用他們的sans serif字體(顯然不能用任何真實名稱在CSS中調用),而其他瀏覽器在開始時忽略「serif」。 –

+0

舊的Android將使用* serif *字體,但是,情況就是這樣。我還發現,在一些Linux發行版中,安裝了一個名爲san-serif的字體,所以這個技巧遠非完美。 - 這就是爲什麼我加入「希望失敗」的原因。 –

相關問題