baozhengrui

导航

rem自适应页面宽度

编写页面

方法一:

rem.js文件
// 基准大小
const baseSize = 16
// 设置 rem 函数
function setRem() {
    // 当前页面宽度相对于 750 宽的缩放比例,可根据自己需要修改。
    const scale = document.documentElement.clientWidth / 1920
    console.log(scale)
    // 设置页面根节点字体大小
    document.documentElement.style.fontSize = (baseSize * Math.min(scale, 2)) + 'px'
}
// 初始化
setRem()
// 改变窗口大小时重新设置 rem
window.onresize = function () {
    setRem()
}

方法二:

viewport.js文件


(function (doc, win) {
  var dpr = window.devicePixelRatio || 1;
  var docEl = doc.documentElement,
    resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
    recalc = function () {
      var clientWidth = docEl.clientWidth;
      if (!clientWidth) return;
      docEl.style.fontSize = 16 * (clientWidth / 1920) + 'px';
      // 设置data-dpr属性,留作的css hack之用
      docEl.setAttribute('data-dpr', dpr);
    };
  if (!doc.addEventListener) return;
  win.addEventListener(resizeEvt, recalc, false);
  doc.addEventListener('DOMContentLoaded', recalc, false);
})(document, window);

引入main.js

import '@/utils/rem.js'

在编辑器中下载pxtorem插件将页面中所有的px转换为rem

posted on 2024-09-20 11:10  芮艺  阅读(7)  评论(0编辑  收藏  举报