1. 程式人生 > >移動端佈局單位

移動端佈局單位

  移動端裝置種類繁多,需要適配多種情況的響應式佈局來保證美觀的頁面實現,先來解釋容易弄混的多個名詞。

  • PPI

    單位英寸畫素數

  • DPR

    裝置畫素比: 裝置畫素 / CSS畫素(某一方向上)

  • DPI

    Dpi(每平方英寸畫素數目):影象細節程度的度量

  • 單位:
       - em

    em是相對長度單位。相對於當前物件內文字的font-size(即父元素尺寸)。如當前對行內文字的字型尺寸未被人為設定,則相對於瀏覽器的預設字型尺寸。

       - rem

     “font size of the root element (根元素的字型大小)”— W3C官網

      也就是說1rem就等於<html>的字型大小,因為網頁<html>的預設字型大小是 16px,所以 1rem=16px 。我在實習的公司前輩教我,用1rem=100px替換設計稿上的內容,不需要複雜的計算轉換就可以將px轉換為rem,從而達到適配的效果。

!function(){
    function a(){
document.documentElement.style.fontSize=document.documentElement.clientWidth/7.2+"px"
}
var b=null;
window.addEventListener("resize"
,function(){ clearTimeout(b),b=setTimeout(a,10)},!1),a() }(window);

  我們的設計稿寬為720,我們將瀏覽器可見區域/7.2得到100px的大小,將他賦值給根元素fontSize,他的值也就是1rem的大小。
  詳細的各種寬高可以看一下
  
   - rpx

微信小程式CSS單位,可以根據螢幕寬度進行自適應

rpx實際上就是系統級的rem(把頁面按比例分割750份,我們就不用手動設定JS改變根元素font-size啦)

1rpx=window.innerWidth/750

   - vm 、vh、vmin、vmax

vw:視窗寬度的百分比
vh:視窗高度的百分比
vmin:當前較小的vw和vh
vmax:當前較大的vw和vh