在頁面中設定字體,我們知道有常見的兩種,px 和em.
px
在Web頁面製作中,我們一般使用「px」來設定我們的文本,因為他比較穩定和精確。但這種方法有一個問題,當使用者在瀏覽器中瀏覽我們製作的網頁頁面時,他改變了瀏覽器的字體大小(雖然一般人不會去改變瀏覽器字體大小),這時會使用我們的Web 頁面佈局被打破,這時就提出了使用「em」來定義Web頁面的字體。
em
一般都是body的font-size為基準
#常用寫法:
body { font-size: 62.5%; /*10 ÷ 16 × 100% = 62.5%*/ } h1 { 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是相對於根元素。
我們只需要在根元素中確定一個參考值,在根元素中設定多大的字體,這完全可以根據您自己的需求。
常用寫法:
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*/ }
在根元素中定義了一個基本字體大小為62.5%(也就是10px。設定這個值主要方便計算,如果沒有設置,將是以「16px 」為基準)。從上面的計算結果,我們使用“rem”就像使用“px”一樣的方便,而且同時解決了“px”和“em”兩者不同之處。
附註:在Chrome下,預設最下字體為12px,可以設定font-size: 625%,其他以此類推
瀏覽器相容性
IE9以上等支援CSS3的瀏覽器是肯定可以支援的,如果想要相容IE低版本,那可以考慮針對IE9以下低版瀏覽器,用px來實作。
以上是介紹css3中REM的使用方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!