vue 项目适配笔记本1920*1080 125%缩放

前言

  • 在台式机上开发pc端项目时,由于是1920*1080的分辨路和100缩放,看起来是没有问题。在笔记本上有问题

  • 因为现在很多14寸的笔记本,出厂默认就是125%或150%的显示。导致很多时候我们的项目,自己开发的时候都是按照100%比例来开发的,上线了就会发现这个问题。

  • 网上有很多解决方案,但都是治标不治本,表面上是适配了,但是有很多坑。效果不是很好。

  • 比如布局挤变形了,第三方组件变形,按钮错位,部分白屏,执行不了。看着很不舒服。

网上解决方案-可以先试一下看效果

vue项目下,笔记本显示跟PC显示比例为125%、150%对页面造成的影响_一起搞前端的博客-CSDN博客

解决前端页面在笔记本和台式显示器比例大小不一问题(适配笔记本125% 150%缩放解决方法)_@小匠的博客-CSDN博客_笔记本设置了缩放,前端如何适配

禁止web页面缩放解决方案 - 掘金

笔记本默认设置125%或者150%缩放,导致布局错乱的解决方法 - 孙凯亮 - 博客园

我的解决方案-思路

1.笔记本缩放(125%或150%)本质是看起来舒服,但实际是更改了视口大小--就是要适配不同分辨率屏幕

2.尽量使用100%布局,这样不管视口分辨路怎么变都是从100里面分,不会受到影响

3.行内样式不会生效,像element-ui表格设置height如果是px就会把页面撑变形,改成父元素的%比(比如50%)

4.如果项目中有使用canvas或者别的相关技术,就要在这个页面监听浏览器是否缩放,来改变大小。

5.最后直接把屏幕在设置中调成125%或150%,来看效果,直接适配

实现

1.适配不同分辨率屏幕--主页文章有[Vue pc端适配不同分辨率屏幕]

 

2.根据实际情况,编写样式

3.修改表格之内的行高(height="70%") 父级元素要设置高,要不然没效果

<el-table
      :data="tableData"
      height="70%"
      border
      style="width: 100%; margin: 20px 0 30px"
      size="mini"
    >

4.在有用到canvas技术的页面监听浏览器缩放,条件成立就是浏览器缩放,给他开关打开,改变canvas大小

 return {
      // 笔记本开关
      windowlen: false,
      // 监听是否在笔记本上-监听浏览器
      screenWidth: document.body.clientWidth,
    }
    
 watch: {
    // 监听是否在笔记本上-监听浏览器
    screenWidth: {
      immediate: true,
      handler: function (newVal) {
        console.log('浏览器大小', newVal)
        if (newVal != 1920) {
          console.log('执行了', newVal != 1980)
          this.windowlen = true
        }
      }
    }
  },
  mounted() {
  // 监听是否在笔记本上-监听浏览器
    const that = this
    window.onresize = () => {
      return () => {
        window.screenWidth = document.body.clientWidth
        that.screenWidth = window.screenWidth
      }
    }
  },
  beforeDestroy() {
    // 离开页面是清空
    this.windowlen = false
  },
  
  // 判断笔记本上运行
      if (this.windowlen) {
        console.log('笔记本浏览', this.windowlen)
        // 注意不要加px
        this.canvas.width = 780
        this.canvas.height = 435
      }

5.把屏幕调成125%缩放,完成其他细节。150%缩放同理。


总结:

经过这一趟流程下来相信你也对 vue 项目适配笔记本1920*1080 125%缩放 有了初步的深刻印象,但在实际开发中我 们遇到的情况肯定是不一样的,所以我们要理解它的原理,万变不离其宗。加油,打工人!

什么不足的地方请大家指出谢谢 -- 風过无痕

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

-風过无痕

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

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

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

打赏作者

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

抵扣说明:

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

余额充值