有些页面需要做到分辨率更改,但页面依然保持一致的情况,这种情况下,所有的单位都需要用rem来控制。
动态改变rem代码:
(function(doc, win) {
var docEl = doc.documentElement,
resizeEvt = "orientationchange" in window ? "orientationchange" : "resize",
recalc = function() {
if (docEl.clientWidth > 1600) {
let num = docEl.clientWidth - 1600;
docEl.style.fontSize = 100 + num/16 + "px";
} else {
var width = docEl.clientWidth / 16;
docEl.style.fontSize = width + "px";
}
};
if (!doc.addEventListener) return;
win.addEventListener(resizeEvt, recalc, false);
doc.addEventListener("DOMContentLoaded", recalc, false);
})(document, window);
在css中定义好rem的初始值之后就能方便使用了。
如果想要保证分辨率更改页面不变,页面中所有单位必须用rem控制