【vuejs】大屏自适应快速解决方案

本文介绍了在Vue.js中实现大屏自适应的两种方法:1) 使用transform:scale进行等比例缩放,常见于阿里云Datav,但可能存在问题;2) 结合flexible和csspost-pxtorem,通过px转rem实现正常放大缩小,适用于常规应用场景,但在非全屏模式下可能显示不完整。
摘要由CSDN通过智能技术生成

在使用vue开发可视化大屏的时候,通常会遇到自适应的要求。这里有两个常规尺寸的自适应解决方案

方案1:使用scale

使用transform:scale,等比例缩放来解决大屏的自适应,这一套解决方案阿里云的datav也有使用,但是vue里可以使用第三方插件,比如vue3-scale-box这一类。
1.安装

npm install vue3-scale-box --save   //安装插件

2.使用

//具体页面使用
app.vue
<template>
	<ScaleBox :width="1920" :height="1080">
		<router-view/>
	</ScaleBox>
</template>
<script>
import ScaleBox from "vue3-scale-box"
components:{
   
	scaleBox
}
</script>

这里面width和height就是设计稿的长宽

这个方法可能会遇到一些问题,慎重选择使用哦


方法2:使用flexible和csspost-pxtorem

这一个方法应该是比较常规的方法
使用插件自动的将写的px转换为rem来使用,放大缩小的展示都很正常

  1. 安装
npm install lib-flexible
npm install postcss-pxtorem

2.使用
在根目录新建postcss.config.js文件

module.exports = {
   
    "plugins": {
   
      "postcss-pxtorem": {
   
        rootValue: 192, // 设计稿宽度
        propList: ['*'],
        selectorBlackList: ['.norem'], // 过滤掉.norem-开头的class,不进行rem转换
        exclude:['screen'] //文件夹screen一下的文件不需要进行px-rem适配
      }
    }
  }

在本地新建一个rem.js文件 刷新rem


; (function (win, lib) {
   
    var doc = win.document;
    var docEl = doc.documentElement;
    var metaEl = doc.querySelector('meta[name="viewport"]');
    var flexibleEl = doc.querySelector('meta[name="flexible"]');
    var dpr = 0;
    var scale = 0;
    var tid;
    var rem;
    var flexible = lib.flexible || (lib.flexible = {
   });

    
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

萌村村花杨小花

谢谢大佬!!

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

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

打赏作者

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

抵扣说明:

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

余额充值