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