1. 程式人生 > >移動端適配——rem方案

移動端適配——rem方案

/*通過JS動態設定viewport,將視口等比放大到裝置獨立畫素大小,使css中的1px代表裝置獨立畫素中的1px window.devicePixelRatio 是裝置上物理畫素/裝置獨立畫素(dips)的比例 公式:window.devicePixelRatio = 物理畫素 / dips 正常initial值為1顯示物理畫素,pixelRatio為要動態設定的比例顯示裝置獨立畫素 1/pixelRatio=物理畫素 / dips=window.devicePixelRatio*/
var pixelRatio=1/window.devicePixelRatio; document.write('<meta name="viewport" content="initial-scale='+pixelRatio+',minimum-scale='+pixelRatio+',maximum-scale='+pixelRatio+',user-scalable=no"/>'); var html=document.querySelector('html'); //獲取可視視窗的寬度,是否含豎向滾動條寬度不一定,測試時設定子級元素border值時返回的width時有時含滾動條有時不含,不明原因
//因為用在移動端,所以也相當於螢幕寬度,是否含滾動條的寬度的問題也就不存在了。 //html預設width是與瀏覽器視窗同寬,document.documentElement.tagName==html var width=html.getBoundingClientRect().width; //設定根節點的字型大小,rem根據其設定大小,1rem=html.style.fontSize //16為一基準值,可自己設定不同的基準值,注意設定頁面中元素字型大小是不要設定過小的rem,避免出現小於12px的字型
html.style.fontSize=width/16+'px'; //html的字型大小=螢幕寬度的16分之一=1rem