大屏适缩放

news/2025/12/8 15:18:34/文章来源:https://www.cnblogs.com/MrLie/p/19321910
<template>
   <div class="screen-adapter">
      <div class="big-screen-page">
         <div class="header-box">
            <div class="meteorology-box">
               晴天
            </div>
            <div class="title-box">
               XXXX电力交易智能辅助决策系统
            </div>
            <div class="time-box">
               <span>{{ currentDate }}</span>
               <span class="mx-3">{{ weekMap[currentWeek] }}</span>
               <span> {{ currentTime }}</span>
            </div>
         </div>
         <div class="content-box">
            <div class="left-box">
               <div />
               <div />
               <div />
            </div>
            <div class="map-box">
               中
            </div>
            <div class="right-box">
               右
            </div>
         </div>
      </div>
   </div>
</template>

<script setup>
import dayjs from 'dayjs';
import { ref, onMounted, onUnmounted, computed } from 'vue';

// 时间相关
const currentTime = ref(dayjs().format('HH:mm:ss'));
const currentDate = ref(dayjs().format('YYYY-MM-DD'));
const currentWeek = ref(dayjs().day());

// 星期映射
const weekMap = computed(() => ({
   0: '星期天',
   1: '星期一',
   2: '星期二',
   3: '星期三',
   4: '星期四',
   5: '星期五',
   6: '星期六',
}));

// 更新时间
const updateCurrentTime = () => {
   currentTime.value = dayjs().format('HH:mm:ss');
   currentDate.value = dayjs().format('YYYY-MM-DD');
   currentWeek.value = dayjs().day();
};

// 定时器
let intervalId;
onMounted(() => {
   updateCurrentTime();
   intervalId = setInterval(updateCurrentTime, 1000);

   // 自适应缩放(兼容非标准大屏)
   adaptScreen();
   window.addEventListener('resize', adaptScreen);
});

onUnmounted(() => {
   clearInterval(intervalId);
   window.removeEventListener('resize', adaptScreen);
});

// 核心:动态计算缩放比例
const adaptScreen = () => {
   const adapter = document.querySelector('.screen-adapter');
   const content = document.querySelector('.big-screen-page');
   if(!adapter || !content) return;

   // 开发基准尺寸
   const baseWidth = 1920;
   const baseHeight = 1080;
   // 屏幕实际尺寸
   const screenWidth = window.innerWidth;
   const screenHeight = window.innerHeight;
   // 计算缩放比例(宽高取最小值,避免溢出)
   const scale = Math.min(screenWidth / baseWidth, screenHeight / baseHeight);

   // 应用缩放+居中
   content.style.transform = `scale(${scale})`;
   content.style.transformOrigin = 'top left';
   // 居中偏移
   adapter.style.paddingLeft = `${(screenWidth - baseWidth * scale) / 2}px`;
   adapter.style.paddingTop = `${(screenHeight - baseHeight * scale) / 2}px`;
};
</script>

<style lang="scss" scoped>
// 外层适配容器:占满屏幕,负责居中
.screen-adapter {
   width: 100vw;
   height: 100vh;
   overflow: hidden;
   position: relative;
}

// 核心内容容器:固定1920*1080开发尺寸
.big-screen-page {
   width: 1920px;
   height: 1080px;
   background: url('../../assets/boxBg.png') no-repeat center;
   background-size: cover;
   position: relative;

   .header-box {
      display: flex;
      height: 102px;
      padding: 0 20px;

      &>div {
         height: 100%;
         display: flex;
         align-items: center;
         justify-content: center;
      }

      .meteorology-box {
         color: #fff;
         width: 25%;
         font-size: 22px;
         align-items: flex-end;
         padding: 0 0 22px;
      }

      .title-box {
         width: 50%;
         font-size: 45px;
         font-weight: bold;
         letter-spacing: 6px;
         font-family: YouSheBiaoTiHei;
         color: #fff;
      }

      .time-box {
         color: #fff;
         width: 25%;
         font-size: 16px;
         align-items: flex-end;
         justify-content: flex-end;
         padding: 0 50px 22px 0;
         transform: skewX(345deg);
      }
   }

   // 内容区域
   .content-box {
      width: 100%;
      height: calc(100% - 102px);
      padding: 10px 34px 34px;
      display: flex;
      &>div {
         height: 100%;
         // border: 1px solid #fff;
      }

      .left-box {
         width: 25%;
      }

      .map-box {
         width: 50%;
      }

      .right-box {
         width: 25%;
      }
   }
}

@media (max-width: 1920px) {
   .big-screen-page {
      background-size: cover;
   }
}

@media (min-width: 3840px) and (min-height: 2160px) {
   .screen-adapter {
      padding: 0 !important;
   }

   .big-screen-page {
      transform: scale(2) !important;
      transform-origin: top left !important;
   }
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/992966.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

某中心ICASSP 2022五十余篇论文技术概览

本文概述了某研究机构在ICASSP 2022会议上发表的超过50篇论文,涵盖自动语音识别、信号处理、计算机视觉、联邦学习等多个前沿技术领域,展示了在声学事件检测、个性化建模、多模态学习等方面的最新研究成果。某中心IC…

2025年潍坊诚信的春节花灯厂家排行榜单,宫灯/华景花灯/大型花灯/互动花灯/巡游花灯/非遗花灯/大型户外花灯/传统花灯春节花灯品牌推荐

随着春节临近,各地文旅景区、商业综合体及城市街道的年味布置需求激增,春节花灯市场迎来新一轮采购高峰。作为中国传统灯彩艺术的重要发源地之一,潍坊凭借深厚的产业积淀与持续的创新活力,涌现出一批优秀的春节花灯…

2025上海商务空间地毯清洗优质品牌推荐指南

2025上海商务空间地毯清洗优质品牌推荐指南根据《2025中国商业保洁服务行业发展白皮书》(以下简称《白皮书》)数据,2025年中国商业保洁市场规模达890亿元,其中地毯清洗服务占比6.3%(约56亿元),年增速12%。这一增…

2025年汽车托运避坑指南:精选优质公司名单,专业的汽车托运找哪家解决方案与实力解析

随着汽车消费市场的持续活跃与人口流动性的增强,汽车托运服务已成为连接车主与车辆的重要桥梁。然而,市场服务商水平参差不齐,价格不透明、运输时效无保障、车辆安全存隐患等问题时有发生,让不少车主在选择时感到困…

最新发布!2025年数字人哪家好?哪家更值得推荐?

最新发布!2025年数字人哪家好?哪家更值得推荐?在当下数字化浪潮席卷各行业的背景下,“数字人哪家好”已成为无数企业与个人在布局智能交互业务时的首要困惑。市面上数字人服务商层出不穷,宣传语天花乱坠,从直播带…

学习记录

算法分析&传输加密&数据格式&密文存储&代码混淆&逆向保护 传输数据-编码型&加密型 base64,md5 数据在传输的时候进行编码 对方服务器可能会在接受的时候进行解码在带入 如果我们还是按照原来思…

2025 宠物粮十大品牌排行榜(含处方粮品牌):科学喂养时代,选对口粮守护毛孩健康

2025 年全球宠物健康食品市场规模突破 3800 亿美元,“科学配比 + 天然无添加 + 功能细分” 已成为行业核心消费逻辑。从国际老牌巨头到本土新锐力量,宠物粮市场正呈现 “精准化、专业化、本土化” 的多元竞争格局。本…

2025年最新数字人平台权威排行榜:全方位深度测评与精选推荐

2025年最新数字人平台权威排行榜:全方位深度测评与精选推荐在数字化浪潮席卷各行各业的当下,越来越多个人创作者、中小企业乃至大型机构开始将目光投向数字人平台,试图借助这一前沿工具突破表达瓶颈、提升内容生产力…

2025年12月工业冷水机,防爆冷水机,风冷螺杆冷水机厂家最新推荐,聚焦资质、案例、售后的十家机构深度解读!

引言​ 2025 年中国制冷设备市场规模预计突破 1450 亿元,工业冷水机、防爆冷水机、风冷螺杆冷水机作为核心细分品类,需求年复合增长率超 30%。为破解市场品牌繁杂、选型困难的痛点,本次推荐基于中国制冷空调工业协会…

2025上海商务空间窗帘沙发清洗品牌推荐指南

2025上海商务空间窗帘沙发清洗品牌推荐指南据《2025中国商业保洁行业发展白皮书》显示,2025年中国商业保洁市场规模已达3200亿元,年复合增长率保持8.5%的稳定增速,其中商务空间保洁需求占比达35%,成为行业增长的核…

2025年锅炉节省天然气公司权威推荐:锅炉节气/锅炉节能减排/低氮燃烧器源头厂家精选

在工业生产与集中供暖领域,锅炉燃料成本是运营支出的重要组成部分。据统计,通过应用先进的综合节能技术,能将工业锅炉系统的整体热效率提升5%至15%,燃气消耗相应显著降低,投资回收期普遍在1至3年。随着“双碳”目…

RunCat 竟然要 139MB?我用纯 C 仅花了100KB 就实现了,还支持直接使用表情包gif/webp

139MB就是只能显示了3个动图?运行内存27MB?当我发现这个的时候是这样的:啊??? 更有意思的来了,看到了一个更加离谱的 - Commit bd38df8仅使用可提交到 Microsoft Store 的 API 来实现? 这意味着,为了迎合商…

2025年水果盒吸塑机批发厂家权威推荐榜单:电子托盘吸塑机‌/塑料盒吸塑机‌/一次性杯盖吸塑机‌‌源头厂家精选

在生鲜物流、商超零售及预制菜产业高速发展的推动下,水果盒、食品托盘等一次性塑料包装的需求持续攀升。作为生产这些包装的核心装备,全自动吸塑机的性能直接决定了生产企业的产能效率与产品合格率。据统计,采用高性…

【2025最新】7-Zip下载安装教程(详细图文步骤 + 使用技巧)

本文提供最新 7-Zip下载安装教程,包括安全下载链接、详细安装步骤、功能讲解和常见问题解答。7-Zip 是一款开源、无广告、压缩率更高的专业压缩工具,支持 ZIP、7Z、RAR 等多格式压缩与解压。本教程适合初学者和办公用…

成都软件开发公司哪家好?专业性价比高口碑好的软件开发公司

成都软件开发的公司是非常多的,对于新手朋友来说,要找到一家能做的好,服务好,效率高并且性价比高的公司还是不容易的,现在这个行业太内卷了,很多公司都低价吸引的套路,稍不注意就会掉坑。根据我们多年的行业经验…

【Git、GitHub、Gitee】GitLab的概念、注册流程、远程仓库操作以及高级特性详解(超详细)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年家用制暖设备品牌权威推荐榜单:暖气片‌/空气能‌/取暖器‌‌品牌精选

在追求高品质居住体验的今天,冬季供暖已从满足“温饱”的基础需求,全面升级为对“舒适、健康、智能、节能”的综合要求。据国家家用电器研究院2025年发布的数据,国内取暖器市场销售额在去年前三季度达到286亿元,同…

苏州永创智能科技详解“CMTI测试电源”共模瞬态抗扰度测试方案及标准 - FORCREAT

CMTI测试电源/全固态纳秒高压脉冲源、超宽带高压皮秒脉冲源、数百kV级的皮秒纳秒EMP/HPEM特斯拉Q 发生器、系统集成和定制、参数化脉冲电源、通用纳秒脉冲源、生物医疗脉冲源(IVL& IRE脉冲源)半导体脉冲源(CMTI、T…

C语言嵌入式核心特性教程:位操作+关键字+进阶指针

嵌入式开发中,C语言的核心价值在于“贴近硬件、高效可控”——位操作直接操作寄存器、`volatile/static/const`保障硬件交互的稳定性、函数指针/指针数组简化驱动和中断管理。本文从嵌入式实际场景出发,详解这些核心…

2025年北京医院物业加盟公司权威推荐:北京物业合伙服务/北京学校物业加盟/北京医院物业合作综合评析

在医院的整体运营体系中,专业的物业服务是保障医疗环境安全、提升患者就医体验、支撑临床工作高效运转的“隐形基石”。据统计,一套标准化、精细化的非临床支持服务体系,能将医院后勤相关投诉率降低超过30%,并显著…