根据视窗动态设置根元素字体大小

(function (e) {
    function t() {
        console.log(o.getBoundingClientRect());
        var t = o.getBoundingClientRect().width;
        e.rem = t / 16, o.style.fontSize = e.rem + "px"
    }
    var i, a, n, r = e.document,
        o = r.documentElement,
        l = r.querySelector('meta[name="viewport"]'),
        m = r.querySelector('meta[name="flexible"]');
    if (l) {
        var s = l.getAttribute("content").match(/initial\-scale=(["']?)([\d\.]+)\1?/);
        s && (a = parseFloat(s[2]), i = parseInt(1 / a))
    } else if (m) {
        var s = m.getAttribute("content").match(/initial\-dpr=(["']?)([\d\.]+)\1?/);
        s && (i = parseFloat(s[2]), a = parseFloat((1 / i).toFixed(2)))
    }
    if (!i && !a) {
        var c = (e.navigator.appVersion.match(/android/gi), e.navigator.appVersion.match(/iphone/gi));
        i = e.devicePixelRatio, i = c ? i >= 3 ? 3 : i >= 2 ? 2 : 1 : 1, a = 1 / i
    }
    if (o.setAttribute("data-dpr", i), !l)
        if (l = r.createElement("meta"), l.setAttribute("name", "viewport"), l.setAttribute("content",
                "initial-scale=" + a + ", maximum-scale=" + a + ", minimum-scale=" + a + ", user-scalable=no"), o
            .firstElementChild) o.firstElementChild.appendChild(l);
        else {
            var d = r.createElement("p");
            d.appendChild(l), r.write(d.innerHTML)
        } e.dpr = i, e.addEventListener("resize", function () {
        clearTimeout(n), n = setTimeout(t, 300)
    }, !1), e.addEventListener("pageshow", function (e) {
        e.persisted && (clearTimeout(n), n = setTimeout(t, 300))
    }, !1), t()
})(window)

将以上代码复制粘贴到一个script闭合标签里面即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值