rem根元素的定义规则

<script>
        !function(a) {
            function b() {
                var b = g.getBoundingClientRect().width;
                var winpix=1;
                b / c > 640 && (b = 640 * c), a.rem =winpix* (b / 16), g.style.fontSize = a.rem + "px";
            }
            var c, d, e, f = a.document, g = f.documentElement, h = f.querySelector('meta[name="viewport"]'), i = f.querySelector('meta[name="flexible"]');
            if (h) {
                console.warn("将根据已有的meta标签来设置缩放比例");
                var j = h.getAttribute("content").match(/initial\-scale=(["']?)([\d\.]+)\1?/);
                j && (d = parseFloat(j[2]), c = parseInt(1 / d))
            } else if (i) {
                var j = i.getAttribute("content").match(/initial\-dpr=(["']?)([\d\.]+)\1?/);
                j && (c = parseFloat(j[2]), d = parseFloat((1 / c).toFixed(2)))
            }
            if (!c && !d) {
                var k = (a.navigator.appVersion.match(/android/gi), a.navigator.appVersion.match(/iphone/gi)), c = a.devicePixelRatio;
                c = k ? c >= 3 ? 3 : c >= 2 ? 2 : 1 : 1, d = 1 / c
            }
            if (g.setAttribute("data-dpr", c), !h)
                if (h = f.createElement("meta"), h.setAttribute("name", "viewport"), h.setAttribute("content", "initial-scale=" + d + ", maximum-scale=" + d + ", minimum-scale=" + d + ", user-scalable=no"), g.firstElementChild)
                    g.firstElementChild.appendChild(h);
                else {
                    var l = f.createElement("div");
                    l.appendChild(h), f.write(l.innerHTML)
                }
            a.dpr = c, a.addEventListener("resize", function() {
                clearTimeout(e), e = setTimeout(b, 300)
            }, !1), a.addEventListener("pageshow", function(a) {
                a.persisted && (clearTimeout(e), e = setTimeout(b, 300))
            }, !1), "complete" === f.readyState ? f.body.style.fontSize = 12 * c + "px" : f.addEventListener("DOMContentLoaded", function() {
                f.body.style.fontSize = 12 * c + "px"
            }, !1), b()
        }(window);
 </script>

  

转载于:https://www.cnblogs.com/mracale/p/8949413.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值