Vue3 大屏适配组件(Scale / Rem 双方案一键切换)
‍ 写在开头点赞 收藏 学会一键切换「整体 Scale 缩放」「Rem 等分适配」窗口自动监听 resize适配设计稿 1920*1080Vue3 全局直接引入用一、新建组件 ScreenAdapter.vuetemplatedivclassscreen-adapter:class{ scale-mode: type scale }!-- 大屏所有内容插槽 --slot //div/templatescript setupimport{onMounted, onUnmounted}fromvue;const propsdefineProps({// 适配模式scale / rem type:{type: String, default:scale, // 默认用不变形的scale validator: val[scale,rem].includes(val)}, // 设计稿宽高 designWidth:{type: Number, default:1920}, designHeight:{type: Number, default:1080}});letresizeFnnull;//1. Scale 整体缩放适配functioninitScale(){const wrapdocument.querySelector(.screen-adapter);if(!wrap)return;const clientWdocument.documentElement.clientWidth;const clientHdocument.documentElement.clientHeight;const scaleWclientW / props.designWidth;const scaleHclientH / props.designHeight;const scaleMath.min(scaleW, scaleH);wrap.style.transformtranslate(-50%, -50%)scale(${scale});}//2. Rem 等分适配 设计稿px直接写remfunctioninitRem(){const clientWdocument.documentElement.clientWidth;// 把屏幕分成100份 1rem1%屏幕宽 document.documentElement.style.fontSizeclientW /100px;}// 初始化适配functionadapterInit(){if(props.typescale){initScale();}else{initRem();}}onMounted((){adapterInit();resizeFnadapterInit;window.addEventListener(resize, resizeFn);});onUnmounted((){window.removeEventListener(resize, resizeFn);});/scriptstyle scopedhtml, body{margin:0;height:100%;overflow: hidden;}.screen-adapter{position: fixed;left:50%;top:50%;transform-origin:00;}/* Scale模式固定画布大小 */ .scale-mode{width: 1920px;height: 1080px;}/style二、页面中使用1. 用 Scale 模式推荐交付、地图大屏、不变形template!-- 只用包一层内部全部按1920*1080写px即可 --ScreenAdaptertypescale!-- 你的大屏页面内容 --divclasstitle智慧公路大屏/div/ScreenAdapter/templatescript setupimportScreenAdapter from/components/ScreenAdapter.vue;/scriptstyle.title{/* 直接写px不用任何换算 */ font-size: 36px;width: 400px;height: 80px;line-height: 80px;text-align: center;}/style2. 切换 Rem 模式内部项目、铺满全屏ScreenAdaptertyperem内部大屏内容/ScreenAdapterRem 用法规则设计稿多少 px直接写多少 rem设计稿 200px → width: 200rem字体 28px → font-size: 28rem不用计算、不用除以任何数。三、两种模式使用场景记住type“scale”对外交付、政府大屏、Mapbox/L7/GIS 地图优点不变形、像素级还原、适配所有屏写法全部写 pxtype“rem”内部后台、运维大屏、工期紧优点全屏无留白、开发快写法设计稿 px 直接换成 rem四、关键注意点Scale 模式下所有弹窗、ECharts、地图都要包在插槽里面不要单独挂 body不需要再写任何额外适配 JS组件已经封装好监听 resize以后所有大屏页面直接套这个组件改个 type 就能切换适配方案如果对您有所帮助欢迎您点个关注我会定时更新技术文档大家一起讨论学习一起进步。

相关新闻

以智能制造为导向的数字孪生工厂构建方法与应用

以智能制造为导向的数字孪生工厂构建方法与应用

摘要随着工业 4.0 与智能制造战略的深化推进,数字孪生已成为制造工厂实现数字化转型、提升生产柔性与运营效率的核心技术路径。本文从智能制造的实际业务需求出发,系统梳理数字孪生工厂的五层核心技术架构,详细拆解从需求定义到落地应用的全流…

2026/7/30 11:04:02 阅读更多 →
视频编码与特效合成:电影预告片制作技术全解析

视频编码与特效合成:电影预告片制作技术全解析

这次我们来看一个电影项目相关的技术话题——《有虎出没》预告片的制作与传播分析。作为FIRST青年电影展主竞赛入围作品,这部影片的预告片制作涉及视频剪辑、特效处理、色彩校正等多个技术环节,对于从事影视制作和技术研究的朋友来说,值得关注…

2026/7/29 22:06:11 阅读更多 →
C++数值积分与插值技术:从原理到工程实现详解

C++数值积分与插值技术:从原理到工程实现详解

1. 项目概述:为什么数值计算是C工程师的必修课?如果你是一名C开发者,无论是从事游戏引擎、量化金融、科学计算还是工业仿真,迟早会遇到一个绕不开的坎:如何让计算机高效、准确地处理那些无法用简单公式表达的复杂函数&…

2026/7/30 4:02:10 阅读更多 →

最新新闻

PyCharm安装NumPy失败全解析:从环境配置到编译依赖的完整解决方案

PyCharm安装NumPy失败全解析:从环境配置到编译依赖的完整解决方案

1. 项目概述:一个看似简单却暗藏玄机的“小”问题如果你刚开始用PyCharm写Python,尤其是做数据分析、机器学习或者科学计算,安装numpy库几乎是绕不开的第一步。这听起来就像打开水龙头接杯水一样简单:打开PyCharm的设置&#xff0…

2026/7/30 11:03:26 阅读更多 →
如何高效构建微信公众号数据采集系统:5个实战技巧与架构解析

如何高效构建微信公众号数据采集系统:5个实战技巧与架构解析

如何高效构建微信公众号数据采集系统:5个实战技巧与架构解析 【免费下载链接】wechat_articles_spider 微信公众号文章的爬虫 项目地址: https://gitcode.com/gh_mirrors/we/wechat_articles_spider 在当今内容驱动的数字时代,微信公众号已成为信…

2026/7/30 11:03:26 阅读更多 →
学工一体化平台信息调查

学工一体化平台信息调查

✅作者简介:合肥自友科技 📌核心产品:智慧校园平台(包括教工管理、学工管理、教务管理、考务管理、后勤管理、德育管理、资产管理、公寓管理、实习管理、就业管理、离校管理、科研平台、档案管理、学生平台等26个子平台) 。公司所有人员均有多…

2026/7/30 11:03:26 阅读更多 →
如何解决GitHub访问慢?Fast-GitHub浏览器插件终极指南

如何解决GitHub访问慢?Fast-GitHub浏览器插件终极指南

如何解决GitHub访问慢?Fast-GitHub浏览器插件终极指南 【免费下载链接】Fast-GitHub 国内Github下载很慢,用上了这个插件后,下载速度嗖嗖嗖的~! 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 还在为GitHub下载…

2026/7/30 11:03:26 阅读更多 →
如何在5分钟内配置TMSpeech:Windows离线语音识别完整指南

如何在5分钟内配置TMSpeech:Windows离线语音识别完整指南

如何在5分钟内配置TMSpeech:Windows离线语音识别完整指南 【免费下载链接】TMSpeech 腾讯会议摸鱼工具 项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech 还在为会议记录手忙脚乱而烦恼吗?想要实时字幕提升学习效率?今天我要为你…

2026/7/30 11:03:26 阅读更多 →
bitbrick_k1集群部署prima_cpp实现分布式大模型推理

bitbrick_k1集群部署prima_cpp实现分布式大模型推理

1. 项目概述:bitbrick_k1集群部署prima_cpp实现分布式大模型推理最近在bitbrick_k1集群上成功部署了prima_cpp框架,实现了大语言模型的分布式推理。这套方案特别适合需要处理高并发推理请求的企业级场景,比如智能客服、内容生成平台等。bitbr…

2026/7/30 11:02:26 阅读更多 →

日新闻

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…

2026/7/30 0:00:13 阅读更多 →
如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 你是否曾经在浏览…

2026/7/30 0:00:13 阅读更多 →
“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

更多请点击: https://intelliparadigm.com 第一章:AI 教师备课辅助 AI 教师备课辅助系统正逐步成为教育数字化转型的核心支撑工具,它并非替代教师,而是通过语义理解、知识图谱与多模态生成能力,将教师从重复性劳动中解…

2026/7/30 0:00:13 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/29 22:18:20 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/29 15:00:03 阅读更多 →

月新闻