/**
* YDUI 可伸缩布局方案
* rem计算方式:设计图尺寸px / 100 = 实际rem 例: 100px = 1rem
*/
!function (window) {
/\* 设计图文档宽度 \*/
var docWidth = 750;
var doc = window.document,
docEl = doc.documentElement,
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize';
var recalc = (function refreshRem () {
var clientWidth = docEl.getBoundingClientRect().width;
//getBoundingClientRect(); 这个方法返回一个矩形对象,包含四个属性:left、top、right和bottom。分别表示元素各边与页面上边和左边的距离。
/\* 8.55:小于320px不再缩小,11.2:大于420px不再放大 \*/
docEl.style.fontSize = Math.max(Math.min(20 \* (clientWidth / docWidth), 11.2), 8.55) \* 5 + 'px';
return refreshRem;
})();
/\* 添加倍屏标识,安卓倍屏为1 \*/
docEl.setAttribute('data-dpr', window.navigator.appVersion.match(/iphone/gi) ? window.devicePixelRatio : 1);
if (/iP(hone|od|ad)/.test(window.navigator.userAgent)) {
/\* 添加IOS标识 \*/
doc.documentElement.classList.add('ios');
/\* IOS8以上给html添加hairline样式,以便特殊处理 \*/
if (parseInt(window.navigator.appVersion.match(/OS (\\d+)\_(\\d+)\_?(\\d+)?/)\[1\], 10) >= 8)
doc.documentElement.classList.add('hairline');
}
if (!doc.addEventListener) return;
window.addEventListener(resizeEvt, recalc, false);
doc.addEventListener('DOMContentLoaded', recalc, false);
}(window);
手机扫一扫
移动阅读更方便
你可能感兴趣的文章