当前位置: 首页 > news >正文

vue3/vue2大屏适配

vue3-scale-box 和 vue2-scale-box 可以帮助你在不同 Vue 版本中实现大屏自适应缩放。vue3-scale-box - npmvue3 scale box. Latest version: 0.1.9, last published: 2 years ago. Start using vue3-scale-box in your project by running `npm i vue3-scale-box`. There is 1 other project in the npm registry using vue3-scale-box.https://www.npmjs.com/package/vue3-scale-box

1. vue3-scale-box(Vue 3 专用)

功能

  • 基于 Vue 3 开发,支持 Composition API 和 <script setup>

  • 自动等比缩放内容,适配不同分辨率(如 1920×1080、4K 等)。

  • 提供缩放模式(fit 等比缩放 / full 全屏拉伸)。

安装

npm install vue3-scale-box
# 或
yarn add vue3-scale-box

 使用示例

<template><Vue3ScaleBox:width="1920":height="1080":scaleMode="'fit'":delay="100"><!-- 你的大屏内容 --><div class="dashboard"><h1>Vue 3 大屏适配</h1><ECharts :options="chartOptions" /></div></Vue3ScaleBox>
</template><script setup>
import { ref } from "vue";
import Vue3ScaleBox from "vue3-scale-box";
import ECharts from "vue-echarts";const chartOptions = ref({// ECharts 配置...
});
</script><style>
.dashboard {width: 100%;height: 100%;background: #0f1c3c;color: white;
}
</style>

配置参数

参数类型默认值说明
widthNumber1920设计稿宽度
heightNumber1080设计稿高度
scaleMode'fit' | 'full''fit'fit(等比缩放)/ full(全屏拉伸)
delayNumber100窗口调整防抖延迟(ms)

2. vue2-scale-box(Vue 2 专用)

功能

  • 专为 Vue 2 设计,兼容 Options API

  • 类似 vue3-scale-box,支持大屏等比缩放。

安装

npm install vue2-scale-box
# 或
yarn add vue2-scale-box

使用示例

<template><Vue2ScaleBox:width="1920":height="1080":mode="'fit'"><!-- 你的大屏内容 --><div class="dashboard"><h1>Vue 2 大屏适配</h1><ECharts :options="chartOptions" /></div></Vue2ScaleBox>
</template><script>
import Vue2ScaleBox from "vue2-scale-box";
import ECharts from "vue-echarts";export default {components: { Vue2ScaleBox, ECharts },data() {return {chartOptions: { /* ECharts 配置 */ }};}
};
</script><style>
.dashboard {width: 100%;height: 100%;background: #0f1c3c;color: white;
}
</style>

配置参数

参数类型默认值说明
widthNumber1920设计稿宽度
heightNumber1080设计稿高度
mode'fit' | 'full''fit'fit(等比缩放)/ full(全屏拉伸)

3. 关键区别

特性vue3-scale-boxvue2-scale-box
Vue 版本Vue 3Vue 2
API 支持Composition APIOptions API
打包方式Vite/RollupWebpack
事件监听@scale 事件@resize 事件

4. 常见问题

Q1:内容被拉伸或变形?

  • 确保 scaleMode="fit"(等比缩放)。

  • 检查内部元素是否使用 % 或 vw/vh 单位。

Q2:缩放不生效?

  • 确认父容器有明确的 width 和 height(不能是 auto)。

  • 检查是否在 mounted 后动态加载内容(可能需要手动触发 resize)。

Q3:如何兼容移动端?

  • 结合媒体查询调整 width/height

    const isMobile = window.innerWidth < 768;
    <Vue3ScaleBox :width="isMobile ? 750 : 1920" ... />

5. 总结

  • Vue 3 项目 → 用 vue3-scale-box(推荐 Vite 构建)。

  • Vue 2 项目 → 用 vue2-scale-box(配合 Webpack)。

  • 核心逻辑:通过 transform: scale() 实现等比缩放,监听 resize 事件动态调整。

如果需要更复杂的适配(如部分内容不缩放),可以结合 CSS transform-origin 或手动计算比例。

http://www.xdnf.cn/news/543403.html

相关文章:

  • 基于统计检验与多模型对心脏病数据的分析与预测
  • Oracle 11g post PSU Oct18 设置ssl连接(使用wallets)
  • 企业级网络安全护盾:剖析高防IP原理与防护策略
  • 编程学习论坛测试报告
  • 隐形安全感
  • Linux Bash 中 $? 的详细用法
  • 【算法】定长滑动窗口5.20
  • 畅游Diffusion数字人(30):情绪化数字人视频生成
  • MVDR源码(可直接运行)
  • HarmonyOS NEXT~鸿蒙系统与mPaaS三方框架集成指南
  • 单端传输通道也会有奇偶模现象喔
  • PIL库的图像增强函数
  • 从ISO17025合规到信创适配 解密质检lims系统实验室的 AI 质检全链路实践
  • 【C++】C++的拷贝构造函数介绍使用
  • 【RK3588嵌入式图形编程】-Cairo-形状与填充
  • C++从入门到实战(十六)String(中)String的常用接口(构造接口,析构接口,迭代器,遍历修改,容量管理与数据访问)
  • 零基础设计模式——创建型模式 - 单例模式
  • .NET 10 - 尝试一下Minimal Api的Validation新特性
  • 开源一个记账软件,支持docker一键部署
  • APPtrace 智能参数系统:重构 App 用户增长与运营逻辑
  • C++中String类
  • 《经济日报》深度聚焦|珈和科技携手万果博览荟共筑智慧农业新示范高地 全链赋能蒲江茶果产业数字化转型升级
  • 榕壹云上门家政系统:基于Spring Boot+MySQL+UniApp的全能解决方案
  • 深度剖析ZooKeeper
  • 基于大模型与人工智能体的机械臂对话式交互系统RobotAgent
  • 阿里云CDN刷新预热--刷新URL
  • 【AI 大模型】盘古大模型简介 ( 创建空间 | 体验模型 | 部署模型 )
  • 【华为OD-B卷-打印文件 100分(python、java、c++、js、c)】
  • 面试算法刷题3(核心+acm)
  • LVS原理详解及LVS负载均衡工作模式