【记录】vue中实现界面rem自适应

1.下包

在这里插入图片描述

2.配置

用到的是vue框架,webpack已经封装好了,需要在根目录新建文件
在这里插入图片描述
具体内容

// postcss.config.js
module.exports = {
  presets: [
    '@vue/cli-plugin-babel/preset'
  ]
}
3.根据屏幕变化调整比例
// rem.js
// 基准大小
const baseSize = 16;

// 设置 rem 函数
function setRem () {
    // 当前页面宽度相对于 1920 宽的缩放比例,可根据自己需要修改。
    const scale = document.documentElement.clientWidth / 1920;
    // 设置页面根节点字体大小
    if (document.documentElement.clientWidth <= 760) {
        document.documentElement.style.fontSize = 14 + 'px';
    } else {
        document.documentElement.style.fontSize = (baseSize * Math.min(scale, 10)) + 'px';
    }
}

// 初始化
setRem();
// 改变窗口大小时重新设置 rem
window.onresize = function () {
    setRem();
};
4.入口界面调用rem.js

在这里插入图片描述

5.实现原理

rem是相对单位,是相对HTML根元素的fontSize

  1. 通过postcss-pxtorem插件将px转换成rem
  2. 自定义rem.js根据resize事件动态更改根元素fontSize的值
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值