html根元素,与rem结合适配页面

1)新建rem.js,在main.js中引入该js
const baseSize = 14
//设置rem函数
function setRem() {
    //当前页面宽度相对于1920宽的缩放比例,可根据自己需要修改
    const scale = document.documentElement.clientWidth / 1920
    //设置页面根节点字体大小,字体大小最小为12
    let fontSize = (baseSize * Math.min(scale, 1)) > 12 ? (baseSize * Math.min(scale, 2)) : 12
    document.documentElement.style.fontSize = fontSize + 'px'
}
//初始化
setRem()

//改变窗口大小时重新设置rem
window.onresize = function () {
    setRem()
}

或者
(2)在app.vue中编写如下代码

mounted() {
      this.resize({});
      window.addEventListener('resize', this.resize);
    },
    methods: {
      resize({ designWidth = 1920, maxWidth = 2 ** 64, minWidth = 1300, base = 16 }) {
        const html = document.documentElement || document.body;
        const limitMax = maxWidth / designWidth;
        const limitMin = minWidth / designWidth;
        const scale = window.innerWidth / designWidth;
        html.style.fontSize = ((scale > limitMax ? limitMax : scale < limitMin ? limitMin : scale) * base).toFixed(2) + 'px';
      },
    }

测试代码:
css中设置样式,如font-size:16rem,拖拽页面,查看字体是否发生变化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值