PX:
PX實際上就是像素,用PX設置字體大小時,比較穩定和精確。但是這種方法存在一個問題,當用戶在瀏覽器中瀏覽我們制作的Web頁面時,如果改變了瀏覽器的縮放,這時會使用我們的Web頁面布局被打破。這樣對於那些關心自己網站可用性的用戶來說,就是一個大問題了。因此,這時就提出了使用“em”來定義Web頁面的字體。
EM:
EM就是根據基准來縮放字體的大小。EM實質是一個相對值,而非具體的數值。這種技術需要一個參考點,一般都是以<body>的“font-size”為基准。如WordPress官方主題Twenntytwelve的基准就是14px=1em。
另外,em是相對於父元素的屬性而計算的,如果想計算px和em之間的換算,輸入數據就可以px和em相互計算。
Rem:
EM是相對於其父元素來設置字體大小的,這樣就會存在一個問題,進行任何元素設置,都有可能需要知道他父元素的大小。而Rem是相對於根元素<html>,這樣就意味着,我們只需要在根元素確定一個參考值。
瀏覽器的兼容性
除了IE6-IE8r,其它的瀏覽器都支持em和rem屬性,px是所有瀏覽器都支持。
因此為了瀏覽器的兼容性,可“px”和“rem”一起使用,用"px"來實現IE6-8下的效果,然后使用“Rem”來實現代瀏覽器的效果。