1.px(像素)
px單位的名稱為像素,它是一個固定大小的單元,像素的計算是針對(電腦/手機)屏幕的,一個像素(1px)就是(電腦/手機)屏幕上的一個點,即屏幕分辨率的最小分割。由於它是固定大小的單位,單獨用它來設計的網頁,如果適應大屏幕(電腦),在小屏幕(手機)上就會很不友好,做不到自適應的效果。
2.em(相對長度單位)
em單位用的也比較多,特別是國外;em單位的名稱為相對長度單位,它是用來設置文本的字體尺寸的,相對於父級元素對象內文本的字體尺寸;如果沒有人為設置當前對象內文本的字體尺寸,那么它相對的是瀏覽器默認的字體尺寸(16px)。
3.rem(css3新增的相對長度單位)
rem是css3新增的一個相對長度單位,它的出現是為了解決em的缺點,em可以說是相對於父級元素的字體大小,當父級元素字體大小改變時,又得重新計算。rem出現就可以解決這樣的問題,rem只相對於根目錄,即HTML元素。所以只要在html標簽上設置字體大小,文檔中的字體大小都會以此為參照標准,一般用於自適應布局。
4.%(百分比)
%也很常見,它和em差不多一樣,都是相對於父級元素。但%可以在很多屬性中使用,比如:width、height、font-size等。而em是用來設置字體大小(font-size)的單位,width、height等屬性是沒有em單位的。
二、px、em、rem和%的區別與總結
- px是固定長度單位,不隨其它元素的變化而變化;
- em和%是相對於父級元素的單位,會隨父級元素的屬性(font-size或其它屬性)變化而變化;
- rem是相對於根目錄(HTML元素)的,所有它會隨HTML元素的屬性(font-size)變化而變化;
- px和%用的比較廣泛一些,可以充當更多屬性的單位,而em和rem是字體大小的單位,用於充當font-size屬性的單位
- 一般來說:1em = 1rem = 100% = 16 px