CSS3中REM使用詳解


在頁面中設置字體,我們知道有常見的兩種,px 和 em.

px

在Web頁面制作中,我們一般使用“px”來設置我們的文本,因為他比較穩定和精確。但是這種方法存在一個問題,當用戶在瀏覽器中瀏覽我們制作的Web頁面時,他改變了瀏覽器的字體大小(雖然一般人不會去改變瀏覽器字體大小),這時會使用我們的Web頁面布局被打破,這時就提出了使用“em”來定義Web頁面的字體。

em

一般都是bodyfont-size為基准
常用寫法:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
body {
     font-size : 62.5% ;
     /*10 ÷ 16 × 100% = 62.5%*/
}
h 1 {
     font-size : 2.4em ;
     /*2.4em × 10 = 24px */
}
p {
     font-size : 1.4em ;
     /*1.4em × 10 = 14px */
}
li {
     font-size : 1.4em ;
     /*1.4 × ? = 14px ? */
}

為什么“li”的“1.4em”是不是“14px”將是一個問號呢?在使用“em”作單位時,一定需要知道其父元素的設置,因為“em”就是一個相對值,而且是一個相對於父元素的值,
計算公式:1 ÷ 父元素的font-size × 需要轉換的像素值 = em值
這樣的情況下“1.4em”可以是“14px”,也可以是“20px”,或者說是“24px”,總之是一個不確定值,那么解決這樣的問題,要么你知道其父元素的值,要么呢在任何子元素中都使用“1em”。

rem

rem:W3C官網描述是“font size of the root element”,即rem是相對於根元素。
我們只需要在根元素確定一個參考值,在根元素中設置多大的字體,這完全可以根據您自己的需,大家也可以參考下圖:
pxtoem
嫌換算麻煩的同學,也可以去http://pxtoem.com/這個網站去設置
常用寫法:

01
02
03
04
05
06
07
08
09
10
11
12
html {
     font-size : 62.5% ;
     /*10 ÷ 16 × 100% = 62.5%*/
}
body {
     font-size : 1.4 rem;
     /*1.4 × 10px = 14px */
}
h 1 {
     font-size : 2.4 rem;
     /*2.4 × 10px = 24px*/
}

在根元素中定義了一個基本字體大小為62.5%(也就是10px。設置這個值主要方便計算,如果沒有設置,將是以“16px”為基准 )。從上面的計算結果,我們使用“rem”就像使用“px”一樣的方便,而且同時解決了“px”和“em”兩者不同之處。
注:在Chrome下,默認最下字體為12px,可以設置font-size: 625%,其他以此類推

瀏覽器兼容性

IE9以上等支持CSS3的瀏覽器是肯定可以支持的,如果想要兼容IE低版本,那可以考慮針對IE9以下低版本瀏覽器,用px來實現。


免責聲明!

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



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