直奔主題厚棵!
一蕉世,px ---- 像素(Pixel)。
相對長度單位婆硬。
像素px是相對于顯示器屏幕分辨率而言的狠轻,作為開發(fā)人員,我們應(yīng)該經(jīng)常與 px 打交道彬犯。因此向楼,這里不再贅述查吊,只介紹 px 的特點:
1. IE無法調(diào)整那些使用px作為單位的字體大小湖蜕;
2. 國外的大部分網(wǎng)站能夠調(diào)整的原因在于其使用了em或rem作為字體單位逻卖;
3. Firefox能夠調(diào)整px和em,rem昭抒,但是96%以上的中國網(wǎng)民使用IE瀏覽器(或內(nèi)核)评也。
二,em ---- emphasize灭返。
em是相對長度單位盗迟。相對于當(dāng)前對象內(nèi)文本的字體尺寸。
如當(dāng)前對行內(nèi)文本的字體尺寸未被人為設(shè)置熙含,則相對于瀏覽器的默認(rèn)字體尺寸诈乒。
em特點:
1. em的值并不是固定的;
2. em會繼承父級元素的字體大小婆芦。
需要注意的是:任意瀏覽器的默認(rèn)字體高都是16px怕磨。所有未經(jīng)調(diào)整的瀏覽器都符合: 1em=16px。那么12px=0.75em,10px=0.625em消约。為了簡化font-size的換算肠鲫,需要在css中的body選擇器中聲明Font-size=62.5%,這就使em值變?yōu)?16px*62.5%=10px, 這樣12px=1.2em, 10px=1em, 也就是說只需要將你的原來的px數(shù)值除以10或粮,然后換上em作為單位就行了导饲。
所以我們在寫CSS的時候,需要注意一下幾點:
1. body選擇器中聲明Font-size=62.5%氯材;
2. 將你的原來的px數(shù)值除以10渣锦,然后換上em作為單位;
3. 重新計算那些被放大的字體的em數(shù)值氢哮。避免字體大小的重復(fù)聲明袋毙。也就是避免1.2 * 1.2= 1.44的現(xiàn)象。比如說你在#content中聲明了字體大小為1.2em冗尤,那么在聲明p的字體大小時就只能是1em听盖,而不是1.2em, 因為此em非彼em,它因繼承#content的字體高而變?yōu)榱?em=12px裂七。
三皆看,rem ---- root em
rem是CSS3新增的一個相對單位(root em,根em)背零,這個單位引起了廣泛關(guān)注腰吟。這個單位與em有什么區(qū)別呢?區(qū)別在于使用rem為元素設(shè)定字體大小時徙瓶,仍然是相對大小毛雇,但相對的只是HTML根元素录语。這個單位可謂集相對大小和絕對大小的優(yōu)點于一身,通過它既可以做到只修改根元素就成比例地調(diào)整所有字體大小禾乘,又可以避免字體大小逐層復(fù)合的連鎖反應(yīng)澎埠。目前,除了IE8及更早版本外始藕,所有瀏覽器均已支持rem蒲稳。對于不支持它的瀏覽器,應(yīng)對方法也很簡單伍派,就是多寫一個絕對單位的聲明江耀。這些瀏覽器會忽略用rem設(shè)定的字體大小。代碼示例如下:
span { font-size:14px; font-size:.875rem; }
四诉植,百分比
這個名詞我就不再解釋了祥国,不明白百分比什么意思的請點擊這里。
CSS 中字體單位使用百分比晾腔,需要我們手動計算得到字體的百分比舌稀。有些麻煩,不常用灼擂。
五壁查,結(jié)語
使用什么樣的字體單位,主要由項目來決定剔应。我們可以根據(jù)項目的用戶群睡腿,選擇方便的字體單位來使用。比如峻贮,我們的用戶群都使用的是新版瀏覽器席怪,那么就可以選擇使用 rem;如果考慮到兼容性的問題纤控,我們可以使用 px挂捻,或者兩者都用。