在CSS樣式中,當(dāng)文本縮放的時(shí)候使用font-size屬性是最難以理解的方面之一。在CSS中,你有4種不同的選擇,能夠讓你設(shè)置文本在瀏覽器中的展示。那么這4種單位哪一種更適合呢?這個(gè)問(wèn)題引發(fā)了各種各樣不同的爭(zhēng)論和評(píng)價(jià)。想要找到一個(gè)比較權(quán)威的回答可能比較困難,因?yàn)檫@個(gè)問(wèn)題比較難回答。
PS: 半年前只翻譯啦一半,半夜打開(kāi)一看原文突然就想把剩下的翻譯啦~里面有一些自己的觀點(diǎn)描述,如果有錯(cuò)誤請(qǐng)您留言給我,一定修正。
合適的單位
"Ems"(em): "em"是被用于網(wǎng)頁(yè)文件媒介的可縮放的單位(即相對(duì)單位)。1em就等于當(dāng)前字體的大小,舉個(gè)例子來(lái)講,如果文檔中字體的大小為12pt,那么1em = 12pt。Ems擁有能夠縮放的特點(diǎn),所以2em = 24pt,0.5em = 6pt(你也可以使用原文中的.5em,但是我覺(jué)得0.5em的可讀性更好)等等。
Pixels(px): 像素是被用于屏幕媒介(在計(jì)算機(jī)屏幕上讀?。┑墓潭ù笮〉膯挝唬唇^對(duì)單位)。1像素表示電腦屏幕中的1個(gè)點(diǎn)(這是你的屏幕能夠識(shí)別的最小單位)。在設(shè)計(jì)網(wǎng)頁(yè)的時(shí)候,很多web設(shè)計(jì)者采用像素,因?yàn)樗軌蚝芫_的在瀏覽器中渲染網(wǎng)頁(yè)。但是,使用像素作為單位,當(dāng)近視的用戶(或者視力不好的用戶)放大正在瀏覽的網(wǎng)頁(yè)或者在移動(dòng)端縮小網(wǎng)頁(yè)到合適的尺寸,都會(huì)呈現(xiàn)一些問(wèn)題。
Points(pt): Points是一直以來(lái)被用于打印媒介(打印在紙上等等)。1pt = 1/72英寸。Points和Pixels比較像,它們都是固定大小和不能縮放的單位。
Percent(%): 百分比單位和"em"單位很像,但是存在著細(xì)微的不同。首先也是最重要的不同,就是在font-size = 100%(比如:12pt = 100%)的時(shí)候。當(dāng)使用百分比單位,你的文本完全能在移動(dòng)端正常訪問(wèn)。
它們有什么不同呢?
當(dāng)你在實(shí)際效果中看它們,能夠很容易理解它們之間的不同點(diǎn)。一般來(lái)講,1em = 12pt = 16px = 100%。
em與百分比的比較
我們發(fā)現(xiàn)pt和px字體單位不是適應(yīng)Web文檔必須選擇的單位(其實(shí)從作者的語(yǔ)氣中并沒(méi)有表現(xiàn)出使用px單位不好的意思),我們還有em和百分比作為字體的單位。從理論上來(lái)說(shuō),em和百分比單位都是相同的(指的都是相對(duì)單位),但是在實(shí)際的使用中,他們會(huì)有細(xì)微的不同之處,這些不同之處對(duì)于我們?cè)谶x擇字體單位的時(shí)候是比較重要的。
px現(xiàn)在被認(rèn)為是能夠被接受的字體大小單位(使用它做單位,用戶可以使用瀏覽器的“放大”功能來(lái)讀取較小的文字) ,不過(guò)這樣做會(huì)出一些問(wèn)題,當(dāng)在具有非常高密度屏幕的移動(dòng)設(shè)備中(比如一些Android和iPhone設(shè)備上擁有每英寸200~300像素以上,讓網(wǎng)頁(yè)中11px和12px的字體不太擁有良好的閱讀體驗(yàn)! ) 。因此,我將繼續(xù)使用百分比作為在Web文檔中的基本字體大小。