Vue2实现部分页面使用rem布局

发布时间 2023-04-27 18:16:21作者: zDefind

1.计算rem值的比例,这里是1920的设计图;

setRem(){
/**
* @file: index.vue
* @method: setRemPc
* @param:
* @return:
* @description:计算rem大小
* @date:
*/
var whdef = 100/1920;// 表示1920的设计图,使用100PX的默认值
var bodyWidth = document.body.clientWidth;// 当前窗口的宽度
var rem = bodyWidth * whdef;// 以默认比例值乘以当前窗口宽度,得到该宽度下的相应FONT-SIZE值
document.getElementsByTagName('html')[0].style.fontSize = rem + 'px';
},

2.初始化的时候在created里面调用setRem()这个方法同时浏览器窗口大小改变时调用setRem();

this.$nextTick(()=>{
this.setRemPc();
window.addEventListener('resize', this.setRemPc);//浏览器窗口大小改变时调用rem换算方法
})

3.在离开页面时需要将html标签的font-size改为'unset',不然会影响的其他没用rem布局的页面,因为初始化的时候通过

document.getElementsByTagName('html')[0].style.fontSize = rem + 'px';将html标签的font-size给修改了;

destroyed() {
document.getElementsByTagName('html')[0].style.fontSize = 'unset';
},