設(shè)置網(wǎng)頁字體大小 px與em區(qū)別 收藏
誰對我的網(wǎng)站字體大小有意見?
有人向我反映看不清我的網(wǎng)站文字的人。這使我意識到12px,其實只是讓我覺得很不錯而已,而對于那些視力下降明顯的中年以上的人來講,幾乎等于10px對于我的感覺。
于是我告訴他,在“查看”里調(diào)整“文字大小”就可以了。但是卻發(fā)現(xiàn)這是徒勞的。在Firefox能輕易調(diào)整的字體大小,怎么在IE就變得如此”堅不可調(diào)“?
問題出在哪?
我又試著打開中國的三大門戶—新浪,網(wǎng)易,搜狐。它們的字體無一例外的在IE里失去可調(diào)性。看來這不是我網(wǎng)站獨有的毛病。再看看MSN,Google,A list apart,華盛頓郵報,
在IE里卻是可調(diào)的。
關(guān)鍵點:
1. IE無法調(diào)整那些使用px作為單位的字體大??;
2. 國外的大部分網(wǎng)站能夠調(diào)整的原因在于其使用了em作為字體單位;
3. Firefox能夠調(diào)整px和em,但是96%以上的中國網(wǎng)民使用IE瀏覽器(或內(nèi)核)。這意味這中國網(wǎng)站的字體大小可以被認(rèn)為不可調(diào)。
em是何物?
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)?6px*62.5%=10px, 這樣12px=1.2em, 10px=1em, 也就是說只需要將你的原來的px數(shù)值除以10,然后換上em作為單位就行了。em有如
下特點:
1. em的值并不是固定的;
2. em會繼承父級元素的字體大小。
重寫步驟:
1. body選擇器中聲明Font-size=62.5%;
2. 將你的原來的px數(shù)值除以10,然后換上em作為單位;
簡單吧,如果只需要以上兩步就能解決問題的話,可能就沒人用px了。經(jīng)過以上兩步,你會發(fā)現(xiàn)你的網(wǎng)站字體大得出乎想象。因為em的值不固定,又會繼承父級元素的大小,你可
能會在content這個div里把字體大小設(shè)為1.2em, 也就是12px。然后你又把選擇器p的字體大小也設(shè)為1.2em,但如果p屬于content的子級的話,p的字體大小就不是12px,而是
1.2em=1.2 * 12px=14.4px。這是因為content的字體大小被設(shè)為1.2em,這個em值繼承其父級元素body的大小,也就是16px * 62.5% * 1.2=12px, 而p作為其子級,em則繼承
content的字體高,也就是12px。所以p的1.2em就不再是12px,而是14.4px。
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。
詭異的12px漢字(原因待查)
本人在完成em轉(zhuǎn)換時還發(fā)現(xiàn)了一個詭異的現(xiàn)象,就是由以上方法得到的12px(1.2em)大小的漢字在IE中并不等于直接用12px定義的字體大小,而是稍大一點。這個問題我已經(jīng)解決,
你只需在body選擇器中把62.5%換成63%就能正常顯示了。原因可能是IE處理漢字時,對于浮點的取值精確度有限。
本現(xiàn)象只發(fā)生在12px的漢字,英文不存在此現(xiàn)象。
//示例代碼
以了,那么這種想法直接就給你貼上業(yè)余的標(biāo)簽。推薦工具:Photoshop;頁面切割其實可以劃分到布局里,因為你的頁面切割方式直接影響了布局方式,也體現(xiàn)了你是屬于表格布
局陣營還是css布局陣營。它是布局(前)的關(guān)鍵步驟。將在本章重點講述。推薦工具:Photoshop;
</div>
<div class="post_body01"> 平面設(shè)計是一個網(wǎng)頁的精髓所在,讀者直接面對的界面,在本站以后的文章中會涉及此方面內(nèi)容。也許你會認(rèn)為在腦子里形成一個網(wǎng)站的大概印象就
可以了,那么這種想法直接就給你貼上業(yè)余的標(biāo)簽。推薦工具:Photoshop;頁面切割其實可以劃分到布局里,因為你的頁面切割方式直接影響了布局方式,也體現(xiàn)了你是屬于表格
布局陣營還是css布局陣營。它是布局(前)的關(guān)鍵步驟。將在本章重點講述。推薦工具:Photoshop;
</div>
</body>
</html>