2015-05-13 92 views
7

我想知道chrome如何選擇渲染哪種字體?我這樣問是因爲使用Chrome開發人員工具,我可以看到計算的字體系列與渲染的字體系列不同,這很混亂。在這個特殊的例子中,對Stackoverflow的類似問題沒有多大幫助。爲什麼chrome顯示與計算字體系列不同的渲染字體?

我的電腦字體家族的樣子:

font-family: museo-sans, sans-serif, Futura; 

渲染字體看起來像:

Helvetica—473 glyphs 

在這種article,應提到的是鉻渲染字體映射到上市所計算的字體。這是什麼意思,它爲什麼這樣做?有沒有辦法控制渲染哪種字體?

回答

8

與其他任何瀏覽器相同:如果找不到第一個字體,它會嘗試下一個,等等,直到它用完規則。如果沒有字體匹配,那麼該字體將從父元素繼承,直到文檔級別,它將只選擇瀏覽器的默認字體。

在這種情況下,事情有點奇怪,因爲您顯示的順序是「一個真正的字體」,後面跟着一個通用的CSS類,它總是能夠解決,但不能保證哪種字體會是,只是它將成爲無襯線字體「,後面是真正的字體」futura「。

因此,Chrome將嘗試museo,不會找到它,看到通用的「無襯線」,只是爲您挑選一個已知的無襯線字體。通常這就像Arial或Helvetica,但CSS規範並沒有說明它必須是哪種字體,具體來說。它只需要是無襯線字體。

這裏的奇怪的部分是,您選擇的順序意味着最後的「未來」永遠不會被檢查。一旦它擊中serifsans-serifcursivefantasy,或monospace

+0

這就是解釋了很多瀏覽器將always find a suitable font,謝謝! – nealous3