阿里flexible佈局 - 版本1.x
該佈局於 2017年8月9日被2.0版本取代
實現原理 假設(UI稿750px寬)
- 設定viewport的
scale = 1/window.devicePixelRatio
- 將螢幕分成10份,
font-size = 實際螢幕寬度 / 10;
- 開發時直接填寫
(設計稿DOM寬度)px
- 利用
px2rem外掛
轉換為 -> 實際rem
阿里flexible佈局 - 版本2.x
flexible 2.x: github.com/amfe/lib-fl…
實現原理
- 利用viewport的理想視口,刪除1.x版本的scale縮放
- 其他依舊和1.x版本一樣
網易佈局
個人很喜歡的佈局方案
實現原理 假設(UI稿750px寬)
- 如低版本瀏覽器:
- UI稿以
font-size = 100px;
作為參照,總寬度 = 7.5rem
設計稿DOM對應px / 100 = 實際rem
(計算起來很方便)- 其他螢幕按
螢幕寬度百分比 縮放 font-size的值
- UI稿以
- 若高版本瀏覽器:
1px/750px ≈ 0.1333333%
- 按照低版本邏輯:
font-size = 0.1333333% * 100 = 13.33333vw
webpack外掛postcss-px-to-viewport
顧名思義,將px轉換為vw、vh、vmin、vmax
{
viewportWidth: 750,
viewportHeight: 1334,
unitPrecision: 3,
viewportUnit: 'vw',
selectorBlackList: ['.ignore', '.hairlines'],
minPixelValue: 1,
mediaQuery: false
}
複製程式碼
End
文章分享同步於: github.com/zhongmeizhi…