1. 程式人生 > >px em rem的詳解與區別

px em rem的詳解與區別

聲明 -c -s 項目 屏幕分辨率 div 推薦 項目開發 pre

在前端項目開發中,px,em,以及rem都是頁面布局常用的單位,雖然它們是長度單位,但是所含的意義不一樣。通過復習和查閱,總結了以下知識。

px像素(Pixel)

    定義:相對長度單位。像素px是相對於顯示器屏幕分辨率而言的。(引自CSS2.0手冊)

    特點:

      1:px代表的是像素,用它設置字體大小時,比較穩定和準確。

       2:px的數值是寫死的,Ie中沒辦法改變這些字體的大小。

     運用:

<style>
 p{font-size:18px}    
</style>

em

    定義:

是相對長度單位。相對於當前對象內文本的字體尺寸(通常是針對於其父元素的尺寸)。(引自CSS2.0手冊)

    特點:

      1:em的值並不是固定的;

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

    運用:

      任意瀏覽器的默認字體高都是16px,因此所有未經調整的瀏覽器都符合: 1em=16px。

     為了簡化操作,在css的body標簽中聲明font-size為62.5%,這樣在寫原來的px的數值除以10,然後換上em就可以了,原因:16px*62.5%=10px,例如:12px=1.2em,

<style>
body{font-size
: 62.5%} p{font-size: 1.2em} </style>

rem (font size of the root element)

定義:是CSS3新增的相對單位,它只是相對於html標簽來設定的。

特點: 只針對與html的大小而變化,通過它既可以做到只修改根元素就成比例地調整所有字體大小,又可以避免字體大小逐層復合的連鎖反應。

     缺點: 兼容性問題,IE6-8不支持該單位,解決辦法:就是在標簽中添加絕對單位如em,px。這樣IE6-8會自動忽略rem選擇em或px。

     運用:在css中html標簽添加font-size的值,一般是62.5%,為了方便計算。在所有的子標簽中就可以針對於html的大小進行改變。如:

<style>
html {font-size: 62.5%;}
body {font-size: 1.8rem;}
h1 { font-size: 2.2rem;}
</style>

在新版本的瀏覽器都支持rem這個單位, 只有IE才有兼容性問題,選擇使用什麽字體單位主要由你的項目開發來決定,如果你的用戶群都使用最新版的瀏覽器,那推薦使用rem,如果要考慮兼容性,那就使用px,或者兩者同時使用。

    

px em rem的詳解與區別