Heim  >  Artikel  >  Web-Frontend  >  webapp新体验Rem实现移动端网页适配详解资源_html/css_WEB-ITnose

webapp新体验Rem实现移动端网页适配详解资源_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 11:48:401269Durchsuche

  本来想写一篇,webapp使用Rem的问题,查了一下相关rem的介绍之后,发现很多平台已经解释的很清楚了,图文并茂,于是我便想将其解释资源整理一些,方便以后自己查阅。

   腾讯ISUX:web app变革之rem(解释的最精辟了)

   大漠博客:CSS3的REM设置字体大小 

   小黑成长录:关于webapp中的文字单位的一些捣腾

   前端观察站:px em rem在WEB前端开发中的区别

 

  最后分享一段淘宝手机屏幕尺寸判断改变字体大小的js:

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

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn