關於字型的討論,其實無論是國外還是國內,都已經有不少,可是我發現絕大部分的內容或者有失偏頗,或者不夠全面,下面我試圖將自己一段時間內的觀點總結一下,以求提出一個比較容易接受的 CSS 字型選擇的建議。
事關大小
字型的大小總是一個困擾人的問題,用絕對單位還是用相對單位?或者具體來說,用什麼單位?ex? em? pt? px? 百分比? 讓我們看看 CSS 2.1 Spec 中的說明:
相對大小包括:em, ex, px
絕對大小包括:in, cm, mm, pt, pc
em 就是相對 font-size 制定的大小而言的,例如 margin: 1.2em 就是指設定 1.2 個字元寬度的 margin,當 em 本身用於 font-size 時,指的是它所繼承元素的相對大小。
百分比也是相對 font-size 而言的。
因此我認為,em 和百分比都不適合設定字型的大小,因為相互變動的因素太多了,修改一個地方就有可能影響很多其他的地方。ex 是根據拉丁字母的 x 的高度而言的,這不適合漢字的大小,所以也否決了。px 是根據當前顯示裝置的解析度而言的,同一個 px 對應不同的裝置——比如螢幕或紙張——實際的大小會有一定差異。
所以我認為,如果網頁中應該存在作為絕對參照系的長度,那麼 pt 和 px 應該是首選,其他的長度根據這個絕對參照系,按照百分比或者 em 來變動。
下面談談網頁和印刷中大小造成的差異。99% 的網頁是用來在螢幕上閱讀的,而問題在於,螢幕的解析度要比紙張低得多,所以如果直接把字型按照紙張上印刷的那個大小顯示,肯定是看不清的,僅就英文字型而言,許多細微的點劃、襯線都沒法在那麼低的解析度下表現出來,所以我們只能用專門設計給螢幕顯示的字型。
這些字型的優劣是很難評述的,有一種看法認為,儘管紙張印刷中都傾向於有襯線 (serif) 的字型比無襯線 (sans-serif) 的要易讀,但螢幕上無襯線的字型反而要好一些。所以微軟把 Verdana 吹捧為了最適合網頁使用的字型。我通常也偏向於使用 Verdana、Arial 多於 Times、Georgia。
對於中文字型的情況有所不同,中文字型在螢幕上的清晰顯示依賴的是點陣字型,或者簡單的說,就是微軟隨 Windows 提供的宋體和新宋體 (simsun & nsimsun),這套字型是華康公司 (Dynalab) 設計的,對 9pt 到 12pt 左右的字型都設計了對應的點陣字型。其中使用得最廣泛的是 9pt, 10.5pt 和 12pt 的字型:
那麼比這個大小要大的漢字呢?就要依賴作業系統的字型圓整 (anti-alias,以下簡稱 aa) 技術了,一般大家認為,
</