環(huán)境: ie6 (window sp3) ie7,8,9 firefox3.6, chrome10,opera 10.62 (window7)
本文先列舉出幾種常見的字體的顯示問題以及優(yōu)點(diǎn),然后再列舉幾個(gè)web字體的最佳實(shí)踐,一一作一分析。
1) Tahoma&& Arial字體比較
(1)字體下劃線問題:Tahoma在ie6下的li元素里面顯示很好,其他的所有瀏覽器中,下劃線都會(huì)粘連中文文字,英文問題沒有粘連;但是Arial字體除了ie6,firefox3.6 ,其他瀏覽器都是下劃線粘貼著文字。
(2)13px中文問題:ie6 和firefox3.6 顯示很難看,用的是14號(hào)字體,其他瀏覽器都用12px字體顯示的(Arial字體比Tahoma字體好看點(diǎn));
(3) 中英文混排問題:同一行中出現(xiàn)了中文和英文,如果設(shè)置了vertical-align屬性,會(huì)出現(xiàn)高低不齊的現(xiàn)象。ie7出現(xiàn)了錯(cuò)位。zoom:1可以解決一部分問題。
(4)設(shè)置Tahoma字體后可以使表單元素和label對(duì)齊(比如radio,check ,text,select和相應(yīng)的文本對(duì)齊,同時(shí)設(shè)置兩者 vertical-align:middle )
2)宋體的問題(又名SimSun),unicode 編碼 \5b8b\4f53
(1) Opera 下,只認(rèn) "宋體", 不認(rèn) SimSun
eg:font: 12px arial; 此時(shí),Opera 默認(rèn)中文字體就是宋體,font: 12px sans-serif; 此時(shí),Opera 默認(rèn)中文字體就是宋體。
font: 12px tahoma,arial,simsun,sans-serif; 對(duì)于'宋體'來說,如果后面已經(jīng)沒有中文字體,用 simsun 還是 ok 的。
3)helvetica的問題
(1)找不到字體的時(shí)候,使用默認(rèn)字體。
(2)如果用 font: 12px helvetica2,tahoma; 定義字體時(shí),會(huì)調(diào)用排在第二的 tahoma.
(3) font: 12px xxx,tahoma; 一切正常
4)關(guān)于行高
(1)font: 12px/1 \5b8b\4f53; 行高為 1 時(shí),IE6-7 下,高度不夠時(shí),會(huì)導(dǎo)致中文上下顯示不全。
(2)font: 12px/1.5 \5b8b\4f53; 行高為 1.5 時(shí),一切正常。 文章中推薦使用1.5
5)中文編碼對(duì)字體的影響
(1)如果沒有設(shè)置宋體,在非中文操作系統(tǒng)中很難看。
(2)可以通過不設(shè)置sans-serif 來避免上面的問題。
6)關(guān)于sans-serif字體
就是無襯線字體,是一種通用字體族。
font-family最后加上sans-serif,也是為了保證能夠調(diào)用這個(gè)字體族里面的字體,因?yàn)榇蠖鄶?shù)計(jì)算機(jī)里都有這種字體。
7)字體繼承方面:在IE里,所有的表單元素都不繼承body的字體屬性,需要單獨(dú)設(shè)置 。
總結(jié):
方案一:body {font-family: Arial, sans-serif; }該方案能解決在ie6下的問題,但是該方案對(duì)表單對(duì)齊沒有優(yōu)勢(shì)。
方案二:body {font-family: Tahoma, sans-serif; } 該方案不能很好的解決在ie6下的下劃線問題,此外在ie6下對(duì)于13px的字體也不能很好的支持。
方案三: body {font: 12px/1.5 tahoma, arial, simsun, sans-serif;} 比較tahoma 和arial字體,arial在ie6下使用較少。顧推薦。
方案四:body {font: 12px/1.5 tahoma, arial, \5b8b\4f53;} 使用unicode字符,支持各種格式。
此外不使用sans-serif,在非中文操作系統(tǒng)的不會(huì)出現(xiàn)很難看。我推薦方案四。
如對(duì)本文有疑問,請(qǐng)?zhí)峤坏浇涣髡搲瑥V大熱心網(wǎng)友會(huì)為你解答??! 點(diǎn)擊進(jìn)入論壇