響應式理念:響應式網頁不僅僅是響應不同類型的設備,而且需要響應不同的用戶需求。響應式的初衷是為了讓信息更好的傳遞交流,讓所有人無障礙的獲取信息,同時這也是 Web 的初衷。
一、rem的定義
網頁中常用的文字大小單位是 px(Pixels),em,現在新增了 rem 這個單位。
「rem」是指根元素(root element,html)的字體大小,根元素默認的 font-size 都是 16px。
二、兼容性
這樣一個新的單位兼容性如何呢?請出 Caniuse 看看吧


太好了,IE9+,Firefox、Chrome、Safari、Opera 的主流版本都支持了
我們知道 em 的計算是基於父級元素的,在實際使用中給我們的計算帶來了很大的不便。所以 rem 的出現解救了我這樣不會算術的人,再也不用擔心父級元素的 font-size 了,因為它始終是基於根元素(html) 的。
比如默認的 html font-size=16px,那么我想設置12px 的文字就是:12÷16=0.75(rem)
當然,我們改變一下 html 的默認 font-size=10px 不就好計算了嘛!
html{
font-size:62.5%; /* 10÷16=62.5% */
}
body{
font-size:12px;
font-size:1.2rem ; /* 12÷10=1.2 */
}
p{
font-size:14px;
font-size:1.4rem;
}
需要注意的是,為了兼容不支持 rem 的瀏覽器,我們需要在 rem 前面寫上對應的 px 值,這樣不支持的瀏覽器可以優雅降級。
三、為什么用rem
瀏覽器中用戶都是可以自定義默認的文字大小的,如果使用 px,用戶自行在瀏覽器設置中改變了文字大小后,網頁上是不會變化的。而rem可以(響應式網頁不僅僅是響應不同類型的設備,而且需要響應不同的用戶需求。)
四、什么時候用 rem
常在標題,正文等大面積文字的位置可以使用 rem。但是在一些特殊的設計場景,rem 可能會導致布局錯位
(參考淘寶響應式十日談)
