自己把物理像素,视网膜像素,设备独立像素了解了下,把rem 设置根字体的代码修改如下。
(function flexible (window, document) {
var ua = navigator.userAgent.toLowerCase();
var doc = window.document;
var docEl = document.documentElement;
var metaEl = document.querySelector(‘meta[name=“viewport”]’);
var dpr = 0;
var scale = 0;
var devicePixelRatio = window.devicePixelRatio || 1;//获取设备上物理像素和设备独立像素的比例
//比例设置
if (devicePixelRatio >= 3 && (!dpr || dpr >= 3)) {
dpr = 3;
} else if (devicePixelRatio >= 2 && (!dpr || dpr >= 2)){
dpr = 2;
} else {
dpr = 1;
}
scale = 1 / dpr;
//判断是否存在viewport 的meta标签
if (!metaEl) {
metaEl = doc.createElement('meta');
metaEl.setAttribute('name', 'viewport');
docEl.firstElementChild.appendChild(metaEl);
}
//设置meta标签的缩放比例
metaEl.setAttribute('content', 'initial-scale=' + scale + ', maximum-scale=' + scale + ', minimum-scale=' + scale + ', user-scalable=no');
//设置根字体大小
function setRemUnit () {
var rem = docEl.clientWidth / 7.5
docEl.style.fontSize = rem + 'px'
}
setRemUnit()
}(window, document))