在如今的網頁設計中,網頁設計者都很是注重用戶體驗。而CSS中,font-size使用em仍是px,若是選擇很差將會影響到咱們的用戶體驗。大部分的網頁設計者認爲px比em容易使用,或者有些根本就不知道em、px這二者的區別以及如何使用。css
大 部分的網頁設計者在CSS代碼編寫中老是先對總體定義字體尺寸,中文狀況下通常爲12px,而其實這樣以來在經過IE頂部菜單中的「察看-文字大小」設置 已無任何 做用。對字體感受過小的瀏覽者而言無疑是種很很差的用戶體驗過程。其實這一切均可以免,那就是使用em單位做爲字體顯示單位。瀏覽器
1、首先說下em和px的區別:網絡
1. IE沒法調整那些使用px做爲單位的字體大小;字體
2. Firefox可以調整px和em,可是96%以上的中國網民使用IE瀏覽器(或內核)。網站
3.px像素(Pixel)。相對長度單位。像素px是相對於顯示器屏幕分辨率而言的。spa
而em是相對長度單位。相對於當前對象內文本的字體尺寸。如當前對行內文本的字體尺寸未被人爲設置,則相對於瀏覽器的默認字體尺寸。設計
2、em相對於px有什麼優點:對象
1. em的值並非固定的。繼承
2. em會繼承父級元素的字體大小。get
3、em和px如何進行換算
任意瀏覽器的默認字體高都是16px。全部未經調整的瀏覽器都符合: 1em=16px。那麼12px=0.75em,10px=0.625em。
爲了簡化font-size的換算,須要在css中的body選擇器中先全局聲明 Font-size=62.5%,不少初學者可能會在此定義0.625em或者直接定義12px,這是沒有效果的,必定要定義font-size=62.5%!
這就使em值變爲 16px*62.5%=10px, 這樣12px=1.2em, 10px=1em, 也就是說只須要將你的原來的px數值除以10,而後換上em做爲單位就好了。
因爲em具備會繼續父級出血元素的字體大小的特色,這使得1em=10px,因此12px=1.2em。px與em的轉換經過10就能夠得來,很方便了吧!
4、CSS中應用em須要注意兩點:
1. body選擇器中聲明Font-size=62.5%。
2. 將你的原來的px數值除以10,而後換上em做爲單位。
3. 從新計算那些被放大的字體的em數值。避免字體大小的重複聲明。
也就是避免1.2 * 1.2= 1.44的現象。好比說你在#content中聲明瞭字體大小爲1.2em,那麼在聲明 p 的字體大小時就只能是1em,而不是1.2em, 由於此em非彼em,它因繼承#content的字體高而變爲了1em=12px。
此外有一點必需要注意,在IE處理漢字時,對於浮點的取值精確度有限,在body下62.5%出來的12px字體比直接定義的要大一些,須要將 62.5%換成63%。經過以上對CSS代碼的調整,你會發現本身的網站又向用戶體驗設計更靠近了一步。
說了這麼多,來看一個例子,更直觀得理解一下em和px的區別。
<!--body{font-size:63%;}--> font-size:1.2em (能夠調整) font-size:12px (不能調整) 你能夠經過IE頂部菜單中的「察看-文字大小「來調整字體顯示尺寸
好了,em與px在css中的區別就介紹到這裏(注:本文收集整理自網絡)。
來自 <http://hi.baidu.com/nosunday/item/2ffe948299f6df2a110ef35d>