首先,安装rem
安装rem移步https://web03.cn/blog/68
修改源代码node_modules/lib-flexible/flexible.js 新增变量 var bodySize = 12
var bodySize = 12
修改方法refreshRem
function refreshRem(){
var width = docEl.getBoundingClientRect().width;
if (width / dpr > 540) {
width = 540 * dpr;
}
var rem = width / 10;
docEl.style.fontSize = rem + 'px';
bodySize = (rem/3).toFixed(2)
setBodySize()
flexible.rem = win.rem = rem;
}
修改方法setBodySize
function setBodySize() {
if (doc.readyState === 'complete') {
doc.body.style.fontSize = bodySize * dpr + 'px';
} else {
doc.addEventListener('DOMContentLoaded', function(e) {
doc.body.style.fontSize = bodySize * dpr + 'px';
}, false);
}
}
setBodySize()
个人认为可以将ios缩放方案去除,但我并不清楚ios2和3的屏表示哪种屏幕,后序观察更优方案 上面修改方案并不影响vant的rem适配,因为是基于vant的官方remUnit值进行再次对body进行设置字体大小,在lib-flexible响应中同步修改。不清楚时候对其它ui库产生影响,后续遇到会提醒
每次安装依赖都得需改一遍