zoukankan      html  css  js  c++  java
  • vue的rem转换

    1.在static下放一个js,内容如下
    2.在index.html引入<script src="./static/rem.js"></script>



    /**
    * Created by Administrator on 2017/5/4 0004.
    */
    !function(win) {
    function resize() {
    var domWidth = domEle.getBoundingClientRect().width;
    if(domWidth / v > 540){
    domWidth = 540 * v;
    }
    win.rem = domWidth / 3.75;
    domEle.style.fontSize = win.rem + "px";
    }
    var v, initial_scale, timeCode, dom = win.document, domEle = dom.documentElement, viewport = dom.querySelector('meta[name="viewport"]'), flexible = dom.querySelector('meta[name="flexible"]');
    if (viewport) {
    //viewport??<meta name="viewport"content="initial-scale=0.5, minimum-scale=0.5, maximum-scale=0.5,user-scalable=no,minimal-ui"/>
    var o = viewport.getAttribute("content").match(/initial-scale=(["']?)([d.]+)1?/);
    if(o){
    initial_scale = parseFloat(o[2]);
    v = parseInt(1 / initial_scale);
    }
    } else {
    if (flexible) {
    var o = flexible.getAttribute("content").match(/initial-dpr=(["']?)([d.]+)1?/);
    if(o){
    v = parseFloat(o[2]);
    initial_scale = parseFloat((1 / v).toFixed(2))
    }
    }
    }
    if (!v && !initial_scale) {
    var n = (win.navigator.appVersion.match(/android/gi), win.navigator.appVersion.match(/iphone/gi));
    v = win.devicePixelRatio;
    v = n ? v >= 3 ? 3 : v >= 2 ? 2 : 1 : 1, initial_scale = 1 / v
    }
    //???viewport??????????
    if (domEle.setAttribute("data-dpr", v), !viewport) {
    if (viewport = dom.createElement("meta"), viewport.setAttribute("name", "viewport"), viewport.setAttribute("content", "initial-scale=" + initial_scale + ", maximum-scale=" + initial_scale + ", minimum-scale=" + initial_scale + ", user-scalable=no"), domEle.firstElementChild) {
    domEle.firstElementChild.appendChild(viewport)
    } else {
    var m = dom.createElement("div");
    m.appendChild(viewport), dom.write(m.innerHTML)
    }
    }
    win.dpr = v;
    win.addEventListener("resize", function() {
    clearTimeout(timeCode), timeCode = setTimeout(resize, 300)
    }, false);
    win.addEventListener("pageshow", function(b) {
    b.persisted && (clearTimeout(timeCode), timeCode = setTimeout(resize, 300))
    }, false);

    "complete" === dom.readyState ? dom.body.style.fontSize = 12 * v + "px" : dom.addEventListener("DOMContentLoaded", function() {
    dom.body.style.fontSize = 16 * v + "px"
    }, false);

    resize();
    }(window);
  • 相关阅读:
    Python批量爬取唯美类图片
    查找Windows启动程序
    在Windows10中进行蓝屏排查
    在Windows 10中应该记住的完整的多指触摸板手势
    通过命令行工具远程注销用户
    Windows 7,8.1和10中的隐藏退出资源管理器选项
    找出正在使用的全局热键
    windows10中创建环境变量
    mysql高级(锁机制)
    mysql高级(查询截取分析)
  • 原文地址:https://www.cnblogs.com/chengyalin/p/9115235.html
Copyright © 2011-2022 走看看