移動端佈局方案彙總&&原理解析

阿里flexible佈局 - 版本1.x

該佈局於 2017年8月9日被2.0版本取代css

實現原理 假設(UI稿750px寬)webpack

  • 設置viewport的 scale = 1/window.devicePixelRatio
  • 將屏幕分紅10份,font-size = 實際屏幕寬度 / 10;
  • 開發時直接填寫(設計稿DOM寬度)px
  • 利用 px2rem插件 轉換爲 -> 實際rem

阿里flexible佈局 - 版本2.x

flexible 2.x: github.com/amfe/lib-fl…git

實現原理github

  • 利用viewport的理想視口,刪除1.x版本的scale縮放
  • 其餘依舊和1.x版本同樣

網易佈局

我的很喜歡的佈局方案web

實現原理 假設(UI稿750px寬)瀏覽器

  • 如低版本瀏覽器:
    • UI稿以font-size = 100px;做爲參照,總寬度 = 7.5rem
    • 設計稿DOM對應px / 100 = 實際rem(計算起來很方便)
    • 其餘屏幕按屏幕寬度百分比 縮放 font-size的值
  • 若高版本瀏覽器:
    • 1px/750px ≈ 0.1333333%
    • 按照低版本邏輯:font-size = 0.1333333% * 100 = 13.33333vw

webpack插件postcss-px-to-viewport

顧名思義,將px轉換爲vw、vh、vmin、vmaxbash

{
    viewportWidth: 750,
    viewportHeight: 1334,
    unitPrecision: 3,
    viewportUnit: 'vw',
    selectorBlackList: ['.ignore', '.hairlines'],
    minPixelValue: 1,
    mediaQuery: false
}
複製代碼

End

文章分享同步於: github.com/zhongmeizhi…佈局

相關文章
相關標籤/搜索