zoukankan      html  css  js  c++  java
  • 移动端页面使用rem布局

    阿里团队的高清布局方案代码

    所谓高清方案就是根据设备屏幕的DPR(设备像素比,又称DPPX,比如dpr=2时,表示1个CSS像素由4个物理像素点组成)

    动态设置 html 的font-size, 同时根据设备DPR调整页面的缩放值,进而达到高清效果**。

                var _baseFontSize = baseFontSize || 100;
                var _fontscale = fontscale || 1;
                var win = window;
                var doc = win.document;
                var ua = navigator.userAgent;
                var matches = ua.match(/Android[Ss]+AppleWebkit/(d{3})/i);
                var UCversion = ua.match(/U3/((d+|.){5,})/i);
                var isUCHd = UCversion && parseInt(UCversion[1].split('.').join(''), 10) >= 80;
                var isIos = navigator.appVersion.match(/(iphone|ipad|ipod)/gi);
                var dpr = win.devicePixelRatio || 1;
                if (!isIos && !(matches && matches[1] > 534) && !isUCHd) {
                    // 如果非iOS, 非Android4.3以上, 非UC内核, 就不执行高清, dpr设为1;
                    dpr = 1;
                }
                var scale = 1 / dpr;
    
                var metaEl = doc.querySelector('meta[name="viewport"]');
                if (!metaEl) {
                    metaEl = doc.createElement('meta');
                    metaEl.setAttribute('name', 'viewport');
                    doc.head.appendChild(metaEl);
                }
                metaEl.setAttribute('content', 'width=device-width,user-scalable=no,initial-scale=' + scale + ',maximum-scale=' + scale + ',minimum-scale=' + scale);
                doc.documentElement.style.fontSize = _baseFontSize / 2 * dpr * _fontscale + 'px';
            })();
    

      注意:并不是所有地方都适用rem  宽度最好还是用百分比

  • 相关阅读:
    leetcode----------Pascal's Triangle II
    leetcode----------Pascal's Triangle
    leetcode----------Climbing Stairs
    leetcode----------Balanced Binary Tree
    HTML的DOM树结构
    记一记流水账
    多校训练4——Hehe
    深啾啾~亚马逊与天猫大比拼
    Photo4
    第一次用FontLad~
  • 原文地址:https://www.cnblogs.com/whkl-m/p/7487632.html
Copyright © 2011-2022 走看看