vue/react中使用rem布局

rem布局学习

rem是移动端布局,自适应屏幕 常用的方法。

原理

1rem = 不同设备下fontsize的初始值

于是用rem做单位不同屏幕的元素大小就不一样,可以达到适配。

在vue/react项目public/index.html文件的头部添加以下代码

<script>
      fnResize();
      window.onresize = function() {
        fnResize();
      };
      function fnResize() {
        var deviceWidth =
          document.documentElement.clientWidth || window.innerWidth;
        if (deviceWidth >= 750) {
          deviceWidth = 750;
        }
        if (deviceWidth <= 320) {
          deviceWidth = 320;
        }
        document.documentElement.style.fontSize = deviceWidth / 7.5 + "px";
      }
    </script>

window.onresize:屏幕大小发生变化时触发。

window.innerwidth: 返回窗口的文档显示区的宽度

element.clientWidth: 返回元素的可见宽度。

这段代码就是根据不同屏幕的宽度,设置不同的初始fontsize。

这样750px的设计图,1rem=100px

这样375px的设计图,1rem=50px

这样就能使用rem来替代px做单位。

在750px的设备中

比如36px就相当于0.36rem

但是在375px的设备中

0.36rem就相当于18px

这样就能适配不同的设备了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值