1. 程式人生 > >rem和em的區別。以及如何使用。

rem和em的區別。以及如何使用。

兩者區別

              em會繼承父級元素的字型大小。

             em是相對長度單位。相對於當前物件內文字的字型尺寸。如當前對行內文字的字型尺寸未被人為設定,則相對於瀏覽器的預設字型尺寸。

              使用rem為元素設定字型大小時,仍然是相對大小,但相對的只是HTML根元素

rem單位的使用       

(直接引入下面的js程式碼就可實現自適應字型)

   如果我們需要的是實現字型自適應,不需要手動重新整理,就需要js去封裝  rem 單位。

       var fun=function(doc,win){
          var docEl=doc.documentElement,
              resizeEvt='orientationchange'    in window ? 'orientationchange' : 'resize',
              recalc=function(){
                  var clientWidth =docEl.clientWidth;  //clientWidth視窗大小
                  if(!clientWidth) return;
                  if((12 * (clientWidth / 640)) <= 20) { 

                           //此處  640 為螢幕寬度,

                          //  12 * (clientWidth / 640) ;  表示 12px =1rem
                             docEl.style.fontSize = 12 * (clientWidth / 640) + 'px';
                      }else{
                            docEl.style.fontSize = 10 +'px';
                      }
              } 
            if(!doc.addEventListener) return;
            win.addEventListener(resizeEvt,recalc,false);
            doc.addEventListener('DOMContentLoaded',recalc,false);  
        }
        fun(document,window);