当前位置: 首页 > 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 或手动计算比例。

相关文章:

  • 扫盲笔记之NPM
  • Wan2.1 文生视频 支持批量生成、参数化配置和多语言提示词管理
  • C及C++的音频库与视频库介绍
  • WIFI信号状态信息 CSI 深度学习篇之CNN(Python)
  • 第5天-python饼图绘制
  • Jenkins:自动化之魂,解锁高效开发的密钥
  • 三、【数据建模篇】:用 Django Models 构建测试平台核心数据
  • SQLite基础及优化
  • PL/SQL 安装配置与使用
  • 力扣热题——零数组变换 |
  • LeetCode 93.复原IP地址 LeetCode 78.子集 LeetCode 90.子集II
  • SpringMVC所有注解按照使用位置划分
  • leetcode 旋转数组 java
  • 深度学习-mmcv中build_runner实例化全流程详解
  • 985,成立人工智能学院
  • T008-网络管理常用命令:ping,ipconfig,nslookup,route,netstat
  • upload-labs靶场通关详解:第12-13关
  • Leetcode百题斩-字典树
  • 如何在WordPress网站上添加即时聊天功能
  • 深度学习实战 04:卷积神经网络之 VGG16 复现三(训练)
  • 凤阳鼓楼脱落瓦片2023年刚经历修复,凤阳县文旅局长回应是否违建等焦点问题
  • 国家发改委:安全是低空经济发展的首要前提,稳妥推进低空旅游、航空运动等发展
  • 财政部:鼓励政策性银行对符合条件的城市更新项目提供支持
  • 新质观察|低空货运是城市发展低空经济的第一引擎
  • 王楚钦球拍检测环节受损,国际乒联发声明
  • 马上评|房屋“注胶堵漏”骗局何以屡屡得逞