vue中web手机端的适配问题

5 篇文章 0 订阅

vue中web手机端的适配问题

在使用vue进行web手机端适配时可以使用rem做单位进行适配。rem为相对单位,是相对HTML根元素的字体大小为基准计算大小。如设置html:{font-size:16px},那么p{font-size: 1rem}的字体大小就为16px。
所以使用rem进行适配的大体思路就为:根据屏幕的大小调整html元素的字体大小。

//这里使用的vue
created() {
//获取html
      var html = document.getElementsByTagName("html")[0];
      if(window.innerWidth < 768){
      //首次进入时获取屏幕宽度,宽度/750*100,手机端设计稿宽一般为750px,这里以750为基准调整基础大小,即当屏幕正好为750px时html字体大小为100px,p{font-size: 1rem}字体大小就为100px,屏幕宽为375px时,html50px、p50px,这里标签的宽高同样能使用rem表示
        html.style.fontSize = window.innerWidth/750*100 + "px";
       }else{
         html.style.fontSize = "16px"
       }
       //实时获取改变html根元素字体大小
       window.addEventListener('resize', function() {
         if(window.innerWidth < 768){
           html.style.fontSize = window.innerWidth/750*100 + "px";
           // console.log(window.innerWidth/750*100 + "px");
         }else{
           html.style.fontSize = "16px"
         }
       })
   }

可能出现的问题:

1、
使用rem时,可能出现图片,span等标签位置错乱的问题。具体原因也不是很清楚,解决方法:在#app的样式层添加基准字体大小,如:

@media screen and (max-width: 767px){
      #app{
        font-size: 0rem;//其他大小也可能出现错乱情况,这里直接改为0rem
      }
  }

2、
部分浏览器存有最小字体大小限制,如谷歌最小字体为12px,在使用该浏览器做参考,如设计稿字体为20px,一倍屏应为10px,浏览器只会显示最小标准的12px,导致参考样式有偏差。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灬风吹雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值