首页 > 代码库 > 移动端页面适配问题
移动端页面适配问题
移动端页面满屏自适应方案(采用rem作为单位,设计稿为750 * 1334)
- 修改自阿里的lib-flexible,与lib-flexible相比,删除了dpr,保留rem
- 满屏自适应,要求设计稿为750 * 1334
- 单位换算为1rem = 50px
代码引入:
<head> <script>function refreshRem(){var e=docEl.getBoundingClientRect().width,t=docEl.getBoundingClientRect().height;if(e/t>750/1334)var i=t/26.68;else var i=e/15;docEl.style.fontSize=i+"px"}var win=window,doc=win.document,docEl=doc.documentElement,tid;win.addEventListener("resize",function(){clearTimeout(tid),tid=setTimeout(refreshRem,300)},!1),win.addEventListener("pageshow",function(e){e.persisted&&(clearTimeout(tid),tid=setTimeout(refreshRem,300))},!1),refreshRem();</script> </head>
源码
var win = window;
var doc = win.document;
var docEl = doc.documentElement;
var tid;
function refreshRem(){
var width = docEl.getBoundingClientRect().width;
var height = docEl.getBoundingClientRect().height;
if ((width / height) > (750 / 1334)) {
var rem = height / (1334 / 50);
} else {
var rem = width / (750 / 50);
}
docEl.style.fontSize = rem + ‘px‘;
}
win.addEventListener(‘resize‘, function() {
clearTimeout(tid);
tid = setTimeout(refreshRem, 300);
}, false);
win.addEventListener(‘pageshow‘, function(e) {
if (e.persisted) {
clearTimeout(tid);
tid = setTimeout(refreshRem, 300);
}
}, false);
refreshRem();
移动端页面适配问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。