您的位置:首页 > 移动开发

自适应reset.js布局 用于手机端页面编写

2015-08-13 10:50 369 查看
以下是reset.js具体内容,把它存为js文件引入html里,它的默认尺寸是iphone4的分辨率也就是320*480,美工制图最好是这个规格,ps量图后像素值(px)除以40转化为rem。比如div宽为40px,除以40为1rem,这个div的宽就写成1rem,具体看美工给你的手机端图片是多大规格的,你可以根据这个做计算,整个网页就是计算,最后做出来的网页不用在考虑适配,因为它会自动缩放适配任何手机,比起百分比做出的网站兼容性要好得多,而且能实现动功能也能强大的许多.(手机网页都会写meta标签,这个不要漏)

! function(x) {
function w() {
var a = r.getBoundingClientRect().width;
a / v > 1024 && (a = 1024 * 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);

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: