http://www.cnblogs.com/duanhuajian/archive/2013/01/31/2887088.html
http://www.zhihu.com/question/22413725
http://ued.ctrip.com/blog/?p=3589
參考文章如上盏档。
css中font-family的解析規(guī)則
font-family 規(guī)定元素的字體系列;font-family 可以把多個字體名稱作為一個“回退”系統(tǒng)來保存激捏。如果瀏覽器不支持第一個字體惑惶,則會嘗試下一個煮盼,如果都沒有,就會使用用戶代理(瀏覽器)設置的默認字體带污。也就是說僵控,font-family 屬性的值是用于某個元素的字體族名稱或/及類族名稱的一個優(yōu)先表。瀏覽器會使用它可識別的第一個值鱼冀。
若字體沒有是否下載
使用某種特定的字體系列(Geneva)完全取決于用戶機器上該字體系列是否可用报破;這個屬性沒有指示任何字體下載。因此千绪,強烈推薦使用一個通用字體系列名作為后路充易。
屬性值
在 CSS 中,有兩種不同類型的字體系列名稱:
通用字體系列 - 擁有相似外觀的字體系統(tǒng)組合(比如 "Serif" 或 "Monospace")
特定字體系列 - 具體的字體系列(比如 "Times" 或 "Courier")
除了各種特定的字體系列外翘紊,CSS 定義了 5 種通用字體系列:serif(襯線)蔽氨、sans-serif(無襯線)、monospace(等寬)帆疟、fantasy(夢幻)鹉究、cuisive(草體),這些通用的名稱允許用戶代理從相應集合中選擇一款字體踪宠。
serif字體在字符筆畫末端有叫做襯線的小細節(jié)自赔,這些細節(jié)在大寫字母中特別明顯
sans-serif字體在字符筆畫末端沒有任何細節(jié),與serif字體相比柳琢,他們的外形更簡單绍妨。
monospace 字體,每個字母的寬度相等柬脸,通常用于計算機相關書籍中排版代碼塊他去。
fantasy 和 cuisive 字體在瀏覽器中不常用,在各個瀏覽器中有明顯的差異倒堕。
網(wǎng)頁常用字體
Sans-serif系列:?
Helvetica: 被評為設計師最愛的字體灾测,Realist風格,簡潔現(xiàn)代的線條垦巴,非常受到追捧媳搪。在Mac下面被認為是最佳的網(wǎng)頁字體铭段,在Windows下由于Hinting的原因顯示很糟糕。
?Arial: Helvetica的「克隆」秦爆,和Helvetica非常像序愚,細節(jié)上比如R和G有小小差別。如果字號太小等限,文字太多爸吮,看起來會有些累眼。Win和Mac顯示都正常?
Lucida Family: Lucida Grande是Mac OS UI的標準字體精刷,屬于humanist風格拗胜,稍微活潑一點。Mac下的顯示要比Win下好怒允。?
Verdana: 專門為了屏顯而設計的字體埂软,humanist風格,在小字號下仍可以清楚顯示纫事,但是字體細節(jié)缺失嚴重勘畔,最好別做標題。
?Tahoma: 也是humanist風格丽惶,字體和Verdana有點像炫七,但是略窄一些,counter略小钾唬,曾經(jīng)是Windows的標準字體万哪,Mac 10.5之后默認也有安裝。
?Trebuchet MS: 為微軟設計的一個humanist風格字體抡秆,個人覺得個性太過突出奕巍,用得不好會不搭。
Serif系列:
?Georgia: 基本上適合正文屏顯的襯線字體儒士,非Georgia莫屬了的止。筆畫粗重,襯線明線着撩,輪廓較大诅福,小字體顯示也很清晰,同時細節(jié)還算OK拖叙。
?Times: Times是為了報紙而設計的氓润,特點是可以在有限的空間塞進去更多的文字,筆畫較弱薯鳍,小字號正文屏顯看起來累眼旺芽。曾經(jīng)Engadget改版的時候用了Times作為正文,被罵得很慘之后換成了Georgia。
中文系列:
?宋體:Win最常見的字體采章,小字體點陣,大字體TrueType壶辜,但是大字體并不好看悯舟,所以最好別做標題。?
微軟雅黑:Vista之后新引入的字體砸民,打開Cleartype之后顯示效果不錯抵怎,不開Cleartype發(fā)虛。
?華文細黑:Mac下的默認中文岭参。
注:移動瀏覽器支持的字體較少
微軟雅黑是不是非襯線字體反惕?在 CSS 中受 sans-serif 控制嗎?(節(jié)選自知乎)
http://www.zhihu.com/question/22413725
從字體分類的角度來說演侯,一般西文字體有 serif(襯線)字體和 sans-serif(無襯線)字體的風格之分姿染;中文字體有宋體、黑體秒际、楷體悬赏、仿宋等風格之分。嚴謹?shù)娜艘话悴粫J為中文的宋體是襯線字體娄徊,黑體是無襯線字體闽颇。
不過,在實際應用中寄锐,因為中文的宋體和西文的襯線體兵多,中文的黑體和西文的無襯線體,在風格和應用場景上相似橄仆,所以通常搭配使用剩膘。
以上是字體分類的討論,跟電腦無關沿癞。下面回答電腦上的問題援雇。
CSS 中「sans-serif」這樣的語句,是在告訴瀏覽器如果前面指定的字體在客戶端上沒有的時候椎扬,應該做什么選擇”共現(xiàn)代瀏覽器,往往有自己的默認字體設置蚕涤。比如你在 Chrome 的設置(
chrome://settings/fonts
)里有四個字體設置筐赔。比如在這里我把「sans-serif 字體」設置成「Helvetica」,那么當 Chrome 遇到一段「font-family: sans-serif」的文字揖铜,就會用 Helvetica 顯示茴丰。可是,Helvetica 中沒有中文贿肩,那么中文怎么辦呢峦椰?這時,一般的瀏覽器就要看系統(tǒng)的字體 fallback 配置了汰规。有的瀏覽器如 Chrome 等可能會根據(jù)網(wǎng)頁的 lang 屬性自主選擇最終的字體汤功,而無視操作系統(tǒng)的配置。
簡體中文的 Windows 在這種情況下都會 fallback 到系統(tǒng)級的默認字體中易宋體溜哮,而不會像我們「希望」的那樣 fallback 到微軟雅黑滔金。因為 Windows 在系統(tǒng)層面沒有指定用微軟雅黑作為與 sans-serif 搭配的中文字體。Windows 下這個配置是由注冊表中的 font link 控制的茂嗓。
再比如餐茵,Android 的系統(tǒng)字體配置也是由兩個文件控制,首先指定了系統(tǒng)級的 sans-serif 字體是 Roboto述吸,serif 字體是 Droid Serif忿族,然后對于這倆字體不支持的其他文字(中文、朝鮮文刚梭、日文肠阱、阿拉伯文等)就要按一個 fallback 順序區(qū)匹配響應的字體。但是這個 fallback 順序列表并不分 sans-serif 和 serif朴读,也就是說屹徘,不管你的 CSS 怎么寫,在 Android 上你只能看到一種中文字體衅金。
有的操作系統(tǒng)噪伊,比如 OS X,則比較高級氮唯,會給 sans-serif 和 serif 等不同風格分別存儲字體 fallback 配置鉴吹。比如 sans-serif 最后 fallback 到華文黑體,serif 最后 fallback 到華文宋體惩琉。
* * *
最后豆励,簡要回答你的問題:
微軟雅黑是一種中文黑體,適合與西文無襯線體搭配瞒渠,但是嚴謹?shù)淖煮w分類者不認為它是無襯線體良蒸。瀏覽器如何處理「sans-serif」取決于瀏覽器的設置,一般都是先匹配瀏覽器設置中的默認 sans-serif 字體(瀏覽器沒有單獨配置的跳過)伍玖,再按照操作系統(tǒng)的字體 fallback 順序來(有的瀏覽器會自作主張)嫩痰。而簡體中文 Windows 系統(tǒng)級的默認字體是中易宋體,也就是說如果沒有在任何一個環(huán)節(jié)點名指定某個中文字體窍箍,最后都會用中易宋體來顯示串纺。
* * *