rem设置

2019-08-03  本文已影响0人  来碗鸡蛋面

原创声明

本文系作者辛苦码字所得,欢迎分享和转载,但请在明显位置注明作者的如下信息:
笔名:来碗鸡蛋面
简书主页:https://www.jianshu.com/u/4876275b5a73
邮箱:job_tom@foxmail.com
CSDN ID:tom_wong666

背景:

移动项目或者响应式网站需要尺寸自适应;

选型:

rem;

rem定义:

相对长度单位,相对于根元素(即html元素)font-size计算值的倍数;

设置函数:

    resizeFontSize(){
      //获取根元素
      const docEl = document.documentElement;
      //获取设备宽度
      const {clientWidth} = docEl;
      //若未获取到设备宽度,则终止函数执行
      if (!clientWidth) return ;
      //计算rem基础配置:设计图以750px为准时,px rem比例为1:100
      const fs= 100*(clientWidth/750) ;
      //为根元素字体赋值
      docEl.style.fontSize = `${fs}px`;
    }

调用时机:

我做的验证demo是用的vue框架,在APP.vue的钩子函数mounted里调用:

  mounted() {
    this.resizeFontSize();
  },

如果是普通响应式网页,建议在窗口尺寸变更时调用:

    //当窗口尺寸变更时
    window.onresize=function () {
        resizeFontSize()
    }

备注:此设置已验证OK,需要看源码的同学,可以克隆如下项目查看(在App.vue文件中):
demo的github地址:https://github.com/tom-wong666/xiaoa.git

上一篇 下一篇

猜你喜欢

热点阅读