vue写移动端适配rem

效果图

 

① 写一个resize.js文件,放在public文件夹下--static文件夹下

// 动态修改html font-size 大小
// 通过js操控根元素的字体大小,从而做到屏幕适配
!(function(doc, win) {
  var docHtml = doc.documentElement;
  // 判断窗口有没有orientationchange这个方法,有就赋值给一个变量。没有就返回resize方法
  (resizeEvt = "orientationchange" in window ? "orientationchange" : "resize"),
    (resizes = function() {
      //  获取当前屏幕大小
      var cw = docHtml.clientWidth;
      //  如果没有获取到当前屏幕的大小
      if (!cw) return;
      if (cw > 750) {
        docHtml.style.fontSize = "28px";
      } else {
        //  动态修改font-size   100 * (375 / 750) = 50 (iPhone6/7/8为例)
        docHtml.style.fontSize = 28 * (cw / 750) + "px"; //14px=1rem
      }
    });

  if (!doc.addEventListener) return;
  /***
   * addEventListenter事件方法接受三个参数
   * (1)事件名
   * (2)回调执行函数
   * (3)是否冒泡
   */
  win.addEventListener(resizeEvt, resizes, false);
  // 绑定浏览器缩放与加载事件
  doc.addEventListener("DOMContentLoaded", resizes, false);
})(document, window);

② 接着在public文件夹下的index.html文件中引入该文件

<script src="./static/resize.js" charset="utf-8"></script>

③ 最后一步:在App.vue中设置根元素大小

html {

  font-size: 14px; //设置根元素

}

完事!


看到其他博主发的另一种方法:​​​​​​​https://www.csdn.net/tags/MtTaMgzsNzkyNTY2LWJsb2cO0O0O.htmlhttps://www.csdn.net/tags/MtTaMgzsNzkyNTY2LWJsb2cO0O0O.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值