我的問題沒有任何代碼。所以請不要問我。 這是一個相當豐富的問題。字體家族規則及其解釋
我們都知道的CSS字體家庭的規則。防爆
h1{font-family:"Times New Roman", Times, serif;}
現在我明白了申報FONT-FAMILY的原因是櫃面的瀏覽器無法找到它會切換到第二個第一字體。但是在什麼情況下會發生這種情況。字體的失敗與最終用戶機器上安裝的字體有關嗎?或者某些瀏覽器不支持特定的字體?
我的問題沒有任何代碼。所以請不要問我。 這是一個相當豐富的問題。字體家族規則及其解釋
我們都知道的CSS字體家庭的規則。防爆
h1{font-family:"Times New Roman", Times, serif;}
現在我明白了申報FONT-FAMILY的原因是櫃面的瀏覽器無法找到它會切換到第二個第一字體。但是在什麼情況下會發生這種情況。字體的失敗與最終用戶機器上安裝的字體有關嗎?或者某些瀏覽器不支持特定的字體?
正如你所說,答案是YES,如果某些字體或其他字體無法加載,則上述聲明將用作回退。讓我解釋一下如何。
讓我們稍微修改您的聲明。假設我們有一個Web字體和兩個系統字體,這樣的聲明是這樣
h1 {
font-family: 'Open Sans', Arial, Helvetica;
}
在這裏,我們從Google Web Fonts
獲取的Open Sans
字體。所以在這裏,假設谷歌服務器停機或說用戶的瀏覽器太舊,瞭解font-face
或Web Fonts
,當我的網頁是由特定用戶的要求,Open Sans
字體將無法呈現,因爲它沒有下載,因爲服務器關閉,在這種情況下,CSS將使用Arial
,現在如果用戶系統沒有Arial
字體,則會應用Helvetica
。
如果用戶沒有字體,比網站將呈現用戶設置瀏覽器默認字體。
最明顯的情況是,缺少前字體的系統。在不太可能的情況下,Times New Roman缺失,Times會被嘗試,實際上它可能也會丟失,因此將使用瀏覽器的默認襯線字體serif
。
但是整個畫面比較複雜。部分Font Matching Algorithm在CSS字體模塊級別3 LC(在這方面比CSS 2.1規範更真實,更接近瀏覽器真實性)描述瞭如何選擇字體。
例如,考慮這樣的規則:
p { font-family: Arial Unicode MS, Arial; font-style: italic }
在這種情況下,將Arial字體被使用,因爲Arial字體的Unicode MS沒有斜體字。或者至少這本書應該發生什麼,以及現代瀏覽器會發生什麼。
這是可能的文本中包含一個字符,不存在於主要字體。然後嘗試其他字體,以便找到具有該字符的字體。對於給定的,h1{font-family:"Times New Roman", Times, serif;}
的情況下,這意味着在Times New Roman字體不可用(或次,但如果存在的話,它可能具有更有限的字符集),用於serif
任何特殊或「洋」字。
大多數情況是,如果第一個字體沒有安裝在系統上,則使用第二種字體。還有一些規則,但... –
是的。這是我的問題。在什麼情況下會發生這種情況。第一部分已經在SO – AnaMaria
[本頁](http://www.w3.org/TR/CSS2/fonts.html)上得到了回答,例如「將典型的字體選擇屬性映射到一個不是簡單的問題特定的字體。「並解釋了一些瀏覽器必須面對的問題,我可以從該頁面複製一些材料,並將其粘貼到答案中,如果你喜歡... –