PC端用tansform:scale适配 数据大屏

在创建一个现场活动游戏页面时,面对复杂的屏幕适配需求,作者放弃了原有的媒体查询方法,转而采用CSS3的transform:scale进行适配。通过获取页面高度和宽度,动态计算缩放比例,应用到设计稿固定尺寸的显示区域,实现了简洁的适配效果。代码示例展示了如何在Vue项目中实现这一方法。
摘要由CSDN通过智能技术生成

背景:我做的是一个现场活动的游戏页面,对前端适配要求比较高。我选择js框架是vue,ui框架是element-ui。当初我就想做个最小宽度1200然后再结合媒体查询一起使用。然而发现写的代码太多了感觉css控制特别麻烦。而且现场活动的电脑屏幕尺寸还特别的千奇百怪没办法只能重新想方法。

我第一次尝试的写法是:首先一屏显示,获取当前页面的窗口的高度,显示区的部分全用设计稿的百分比控制。感觉写了太多的css还达不到想要的结果

突然想到 tansform:scale缩放,适配有很多方法这只是我认为适合我们自己的业务。首先我不用写很多的适配css进行控制。gud

  显示区固定尺寸的设计稿 动态获取当前视图区的页面高度和宽度。此时显示区域的缩放比例用 获取到的高度 / 设计稿固定的高度。然后再把总的页面区域用这个缩放比例缩放(缩小或者放大)。此时的宽度用 获取到的宽度 / 缩放比例。动态赋值给最外层显示区。

简单的代码如下:

mounted() {

    this.autoSetScale() // 进页面先执行一次页面高度和宽度计算然后赋值

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

      this.autoSetScale()

    }, false)

  },

  methods: {

    // 自动缩放屏幕比例

    autoSetScale() {

      let zoom = (window.innerHeight / 800).toFixed(3)

      this.transformScale = `scale(${zoom})`</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值