Vue中不同屏幕分辨率

该博客分享了如何在Vue项目中通过动态计算缩放比例,确保不同分辨率下的应用能够一屏完整展示,消除滚动条。作者在app.vue中设置了transform样式,并监听窗口大小变化以调整缩放比例,同时处理了不同浏览器的兼容性问题。这种方法虽然可能导致浏览器缩放功能失效,但有效解决了适配和显示问题。
摘要由CSDN通过智能技术生成

在app.vue中进行出来:

<template>
  <div id="app"
     :style="{'transform':`scale(${scalesNum}) translate(-50%,0)`,
    '-webkit-transform':`scale(${scalesNum}) translate(-50%,0)`,
    '-moz-transform':`scale(${scalesNum}) translate(-50%,0)`,
    '-o-transform':`scale(${scalesNum}) translate(-50%,0)`,
    '-ms-transform':`scale(${scalesNum}) translate(-50%,0)`}">

    <router-view/>
  </div>

</template>

<script>
export default{
  data () {
    return {
      scalesNum: 1 // 缩放比例
    }
  },
  mounted () {
    // 计算缩放比例

    this.resize_window()

    window.addEventListener('resize', () => {
      this.resize_window()

    })

  },

  methods: {
    resize_window() {// 因为设计图是带1920*1080的,但是浏览器本身带顶部工具栏,所以缩放到时候稍微更小一点,这样不会有滚动条,这个值可以选择更大些,比如2300,这样左右两边会有空白
      let myWidth = document.documentElement.clientWidth
      let myHeight = document.documentElement.clientHeight
      if( myHeight / 1920 !== 0 && (( myWidth / 1920) / (myHeight / 1080) >= 1)){
        console.log()
        this.scalesNum = myHeight / 1080
      }else{
        this.scalesNum = myWidth / 1920
      }
    }
  }
}

</script>

<style>

#app{
  margin: 0;

  padding: 0;

  transform-origin: 0 0;

  position:relative;

  width:1920px;

  height: 1080px;

  left:50%;

  overflow: hidden;
}
</style>


可以在不同的分辨率下都能够一屏展示,不会有滚动条的问题,也不会有适配问题。但是会导致浏览器的缩放功能失效。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

时间的情敌

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

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

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

打赏作者

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

抵扣说明:

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

余额充值