css之px、em、rem


rem是css3新定義的設置字體大小屬性,常用的兩種字體大小設置有下面2種:
1、 px為單位
2、em為單位(百分比用法跟em類似)

 

PX為單位

在Web頁面初期制作中,我們都是使用“px”來設置我們的文本,因為他比較精確和固定。只要頁面某元素設置了px字體大小,其子元素/子孫元素未設置字體大小或設置的字體大小css優先級沒父元素高的話,該子元素/子孫元素會繼承其父元素的px字體大小設置 。但種方法存在一個問題:當用戶在瀏覽器中瀏覽我們制作的Web頁面時,他改變了瀏覽器的字體大小,這時會使用我們的Web頁面布局被打破。這樣對於那些關心自己網站用戶可讀性、用戶體驗的前端人員來說,就是一個大問題了。因此,這時就提出了使用“em”來定義Web頁面的字體。

 

em為單位

前面也說了,使用是“px”會在瀏覽器中放大或縮放瀏覽頁面時頁面布局會被打破,要解決這個問題,我們可以使用“em”單位。

在使用“em”作單位時,一定需要知道其父元素的字體大小設置,因為“em”就是一個相對值,而且是一個相對於父元素的字體大小值(縮放比率/縮放因子)

實例:

父元素為16px,子元素設置為1.4em 則子元素實際字體大小16px x 1.4=22.4px

因此 “1.4em”可以是“14px”,也可以是“20px”,或者說是“24px”,總之是一個不確定值,至於確定值是多少,必須知道其父元素的值!

為什么要用rem單位

從上面的介紹可知,px單位的的設置會影響子元素/子孫元素的字體大小顯示,而em單位的設置也是根據父元素的字體來確定的。這時候父元素的字體大小設置就顯得很關鍵了!

而rem是相對於頁面根元素<html>,這樣就意味着,我們只需要在根元素確定一個參考值即可,其它元素設置rem大小都是以html的字體大小設置為參考值進行一個字體大小縮放,字體大小值標准參考圖:

我們來看一個簡單的代碼實例:

html {font-size: 62.5%;/*10 ÷ 16 × 100% = 62.5%*/}
body {font-size: 1.4rem;/*1.4 × 10px = 14px */}
h1 { font-size: 2.4rem;/*2.4 × 10px = 24px*/}

我在根元素<html>中定義了一個基本字體大小為62.5%(也就是10px。設置這個值主要方便計算:1.2rem即 12px ,1.6rem即16px  。 如果沒有設置,將是以瀏覽器默認的“16px”為基准 )。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM