天天看點

CSS em與px差別-CSS教程

在現在的網頁設計中,網頁設計者都非常注重使用者體驗。而CSS中,font-size使用em還是px,如果選擇不好将會影響到我們的使用者體驗。大部分的網頁設計者認為px比em容易使用,或者有些根本就不知道em、px這兩者的差別以及如何使用。

大部分的網頁設計者在CSS代碼編寫中總是先對整體定義字型尺寸,中文情況下一般為12px,而其實這樣以來在通過IE頂部菜單中的“察看-文字大小”設定已無任何 作用。對字型感覺太小的浏覽者而言無疑是種很不好的使用者體驗過程。其實這一切都可以避免,那就是使用em機關作為字型顯示機關。

一、首先說下em和px的差別:

1. IE無法調整那些使用px作為機關的字型大小;

2. Firefox能夠調整px和em,但是96%以上的中國網民使用IE浏覽器(或核心)。

3.px像素(Pixel)。相對長度機關。像素px是相對于顯示器螢幕分辨率而言的。

而em是相對長度機關。相對于目前對象内文本的字型尺寸。如目前對行内文本的字型尺寸未被人為設定,則相對于浏覽器的預設字型尺寸。

二、em相對于px有什麼優勢:

1. em的值并不是固定的。

2. em會繼承父級元素的字型大小。

三、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就可以得來,很友善了吧!

四、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代碼的調整,你會發現自己的網站又向使用者體驗設計更靠近了一步。

 
<!--
body{
font-size:63%;
}
-->
 
font-size:1.2em (可以調整)
 
font-size:12px (不能調整)
 
你可以通過IE頂部菜單中的“察看-文字大小“來調整字型顯示尺寸