移動端REM佈局方案
阿新 • • 發佈:2018-12-23
場景:
1. 設計稿按照 750px 設計
1. html 基準字型大小為 100px
1. 頁面最大寬度為 750px
1. 頁面最小寬度為 320px
REM 自適應工具類
1.安裝throttle-debounce,執行:cnpm install -S throttle-debounce
2.複製如下程式碼(typescript):
declare const window: any
declare const document: any
const debounce = require('throttle-debounce/debounce')
export class RemResponsiveUtils {
static baseFontSize = 100
static baseDocWidth = 750
static maxDocWidth = 750
static minDocWidth = 320
static onResize () {
let docWidth: number = document.documentElement.clientWidth
if (docWidth > RemResponsiveUtils.maxDocWidth) {
docWidth = RemResponsiveUtils.maxDocWidth
} else if (docWidth < RemResponsiveUtils.minDocWidth) {
docWidth = RemResponsiveUtils.minDocWidth
}
document.querySelector('html').style.fontSize = (docWidth / RemResponsiveUtils.baseDocWidth) * RemResponsiveUtils.baseFontSize + 'px'
}
static init () {
RemResponsiveUtils.onResize()
window.onresize = debounce(500 , RemResponsiveUtils.onResize)
}
}
3.執行 RemResponsive.init()