Javascript 移动端字体适配处理(rem2px)

在移动端网页开发过程中,根据不用设备尺寸来调整前端显示效果。根本上就是改变根元素 (<html>) 的字体大小。

 1 (function (doc, win) {
 2   var docEL = doc.documentElement;
 3   // 判断窗口有没有 orientationchange 这个方法,有就赋值给一个变量,没有就返回resize方法
 4   var resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize';
 5   // 这个值与编辑器设置的1rem值相对应
 6   var domfontSize = 50;
 7   var UA = navigator.userAgent;
 8   var recalc = function () {
 9     if (UA.toLowerCase().indexOf('iphone') !== -1 || UA.toLowerCase().indexOf('android') !== -1) {
10       doc.querySelector('[name="viewport"]').setAttribute('content', 'width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no');
11     }
12     
13     var _Width = Math.min(docEL.clientWidth, window.innerWidth);
14     if (!_Width) return;
15     // 注意这里除的是375,domfontSize 是 50;(对应750设计图的100px)
16     docEL.style.fontSize = domfontSize * (_Width / 375) + 'px';
17   }
18   recalc()
19   if (!doc.addEventListener) return;
20   win.addEventListener(resizeEvt, recalc, false);
21   // doc.addEventListener('DOMContentLoaded', recalc, false); // 绑定浏览器缩放与加载时间
22 
23 })(document, window)

结合IDE的 cssrem 设置值,页面编辑中就可以直接写px单位自动转换为rem样式了。

posted on 2020-11-30 10:20  MK24  阅读(530)  评论(0编辑  收藏  举报

导航