• 移动端页面使用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  宽度最好还是用百分比

  • 相关阅读:
    c++/oop友元
    c++/oop引用/动态内存/内联函数/函数重载
    CS61A python字符串/常见错误/*args
    c++/oop类和对象/构造函数
    C++/oop指针
    CS61A pyhton高阶函数/lambda
    CS61A PythonBool/if/循环
    c++/oop对象指针/this指针/静态成员/封闭类
    案例实战:B站视频、淘宝购物 短链接跳转
    案例实战:微信抢红包
  • 原文地址:https://www.cnblogs.com/whkl-m/p/7487632.html
Copyright © 2020-2023  润新知