rem是相对根元素html,app端默认的html大小一般都是16px,也就是说1rem = 16px;然后用px和rem的比例计算出rem的值即可。
现在一般设计稿都是做750尺寸的,所以我用750尺寸作为参考点,计算其他尺寸的手机,代码如下:
;(function(win){
function setFontSize(){
var html = win.document.documentElement, //获取当前页面html元素
html_w = html.clientWidth,//获取当前页面宽度
get_w = html_w / (设计稿的大小,750就*2,375就直接375;看个人喜欢设置多大);//
html.rem = get_w;//这里不用管,全局加一个rem的字段方便以后要用
html.style.fontSize = get_w + 'rem';//设置页面是是多少rem
}
window.addEventListener('resize',function(){//浏览器窗口改变时,重置html字体大小
setTimeout(setFontSize,400)
})
setFontSize()
}(window))
如果设计稿看不到rem折算,编辑器可以自动换算,不过要配置。比如
编辑器用的是hbuilder,直接编辑器设置换算比例为2被即可,如图:
这样就可以适应所有大小不同的手机了