有段时间没写移动端的页面了,这次写到了就顺便来记录一下基本用法,简单的说下750px设计图的移动端适配问题
首先,引入common.js文件
(function(doc, win) {
var docEl = doc.documentElement,
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
recalc = function() {
var clientWidth = docEl.clientWidth;
if (!clientWidth) return;
if (clientWidth >= 750) {
docEl.style.fontSize = '100px';
} else {
docEl.style.fontSize = 100 * (clientWidth / 750) + 'px';
}
};
if (!doc.addEventListener) return;
win.addEventListener(resizeEvt, recalc, false);
doc.addEventListener('DOMContentLoaded', recalc, false);
})(document, window);复制代码
更改js中的宽度,如果设计稿是750的就写750,是640的就改为640的,现在大部分是根据iPhone6的宽度来的设计稿,也就是750px的设计图。
我们以100px为单位,这样就可以不用执行减半等换算工作,设计稿给多少值,就用多少值/100,就可以了,比如一个模块的宽度是550px,高度是230px,那么换算成rem就直接往前两个小数点
.box {
width: 5.5rem;
height: 2.3rem;
}复制代码
由于动态的改变根字体大小,使得页面模块可以自适应各个屏幕
当页面的宽度大于750时,html的font-size恒等于100px,如果页面小于750px,页面中的html的font-size就是100 * ( 当前页面宽度/750 ),如下,iphone6的宽度375,对应的字体就是50px,和换算的一样
其次,在头部加入meta内容
复制代码
最后,由于是750的页面,所以最外层的盒子可以限制以下的大小
.wrap {
width: 100%;
max-width: 750px;
min-width: 320px;
margin: 0 auto
}复制代码
接下来就可以安心的根据设计图来写移动端页面啦~