一.概念
1、px (pixel,像素):是一個虛擬長度單位,是計算機系統的數字化圖像長度單位,如果px要換算成物理長度,需要指定精度DPI(Dots Per Inch,每英寸像素數),在掃描打印時一般都有DPI可選。Windows系統默認是96dpi,Apple系統默認是72dpi。
2、em(相對長度單位,相對於當前對象內文本的字體尺寸):是一個相對長度單位,最初是指字母M的寬度,故名em。現指的是字符寬度的倍數,用法類似百分比,如:0.8em, 1.2em,2em等。通常1em=16px。
3、pt (point,磅):是一個物理長度單位,指的是72分之一英寸。pt=1/72(英寸), px=1/dpi(英寸)
4、rem(root em,根em):是CSS3新增的一個相對單位,這個單位引起了廣泛關注。
二.特點
1.px
1. IE無法調整那些使用px作爲單位的字體大小;
2. 國外的大部分網站能夠調整的原因在於其使用了em或rem作爲字體單位;
3. Firefox能夠調整px和em,rem,但是96%以上的中國網民使用IE瀏覽器(或內核)。
2.em
1. em的值並不是固定的;
2. em會繼承父級元素的字體大小。
3.rem
1. 使用rem爲元素設定字體大小時,仍然是相對大小,但相對的只是HTML根元素。這個單位可謂集相對大小和絕對大小的優點於一身,通過它既可以做到只修改根元素就成比例地調整所有字體大小,又可以避免字體大小逐層複合的連鎖反應。
2. 目前,除了IE8及更早版本外,所有瀏覽器均已支持rem。對於不支持它的瀏覽器,應對方法也很簡單,就是多寫一個絕對單位的聲明。這些瀏覽器會忽略用rem設定的字體大小
三.使用
1.px
固定值,直接賦值,不受其它影響;
2.em
1. body選擇器中聲明font-size=62.5%;
2. 將你的原來的px數值除以10,然後換上em作爲單位;
3. 重新計算那些被放大的字體的em數值,避免字體大小的重複聲明。
注:
em 指字體高,任意瀏覽器的默認字體高都是16px。所以未經調整的瀏覽器都符合: 1em=16px。那麼12px=0.75em, 10px=0.625em。爲了簡化font-size的換算,需要在css中的body選擇器中聲明font-size=62.5%,這就使em值變爲16px*62.5%=10px, 這樣12px=1.2em, 10px=1em, 也就是說只需要將你的原來的px數值除以10,然後換上em作爲單位就行了
3.rem
1. html選擇器中聲明font-size=62.5%;
2. 將你的原來的px數值除以10,然後換上rem作爲單位;
3. IE8及更早版本寫法(用px單獨定義絕對大小):
例:p {font-size:14px; font-size:.875rem;}
注:
1. IE9/IE10在用於僞元素時或者使用字體簡寫聲明時不支持rem
2. IOS Safari5.0-5.1雖然支持rem,但是在使用媒體查詢時不支持rem
px、em、pt單位轉換工具
地址:http://pxtoem.com/