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);
  • 相关阅读:
    wc
    1.11考试
    diff
    C++11新利器
    vimdiff
    [学习笔记]多项式
    rev
    [AH2017/HNOI2017]礼物
    tr
    bzoj2555: SubString
  • 原文地址:https://www.cnblogs.com/chengyalin/p/9115235.html
Copyright © 2011-2022 走看看