首页IT科技vue怎么调整画面比例(前端 vue 解决按1920*1080设计图做的页面适配屏幕缩放并适配4K屏)

vue怎么调整画面比例(前端 vue 解决按1920*1080设计图做的页面适配屏幕缩放并适配4K屏)

时间2025-06-18 12:27:09分类IT科技浏览12395
导读:提示:前端 vue 解决按1920*1080设计图做的页面适配屏幕缩放并适配4K屏...

提示:前端 vue 解决按1920*1080设计图做的页面适配屏幕缩放并适配4K屏

说明

公司项目做之前没有沟通好                  ,按照1920*1080设计图做的页面                            ,缩放比是100%         ,项目做完之后说要适配缩放比         ,并且 适配4k屏                            ,然后就各种百度找办法                  。

一                  、首先是适配屏幕的缩放比

这种方法也是通过看别人发布的文章解决的                  ,原来的地址在这:前端 解决笔记本屏幕显示缩放比例125% 150%对页面布局的影响

我是用的第二种方法         ,直接就粘过来了                            。

1.在外部创建一个detectZoom.js文件                            ,我是在utils文件夹下

detectZoom.js文件代码如下:

export const detectZoom = () => { let ratio = 0, screen = window.screen, ua = navigator.userAgent.toLowerCase(); if (window.devicePixelRatio !== undefined) { ratio = window.devicePixelRatio; } else if (~ua.indexOf(msie)) { if (screen.deviceXDPI && screen.logicalXDPI) { ratio = screen.deviceXDPI / screen.logicalXDPI; } } else if ( window.outerWidth !== undefined && window.innerWidth !== undefined ) { ratio = window.outerWidth / window.innerWidth; } if (ratio) { ratio = Math.round(ratio * 100); } return ratio; };

2.在main.js中引用

m是获取的当前屏幕的缩放比                  ,在通过zoom属性对应缩放         。

zoom属性用于设置或检索对象的缩放比例         。 import { detectZoom } from @/utils/detectZoom.js; const m = detectZoom(); document.body.style.zoom = 100 / Number(m);

以上为解决屏幕缩放比的方法,在屏幕分辨率为1920*1080时可以解决                            。

二                            、解决4k屏幕的问题

在项目做完之后突然告知需要适配4k屏                            ,并且4k屏的时候也会有屏幕缩放比                            ,不想重新改页面样式就想了这个办法                  。也是通过zoom属性,原理就是通过整个body的缩放使系统的展示区域变成1920*1080

1.获取当前屏幕的分辨率

获取屏幕的宽:window.screen.width * window.devicePixelRatio

获取屏幕的高:window.screen.height * window.devicePixelRatio

2.根据不同屏幕和缩放比来调节zoom的比例

在main.js中 代码如下:

import { detectZoom } from @/utils/detectZoom.js; const m = detectZoom(); //判断屏幕是否为4k if (window.screen.width * window.devicePixelRatio >=3840) { // switch (m) { // // 4k屏时屏幕缩放比为100% // case 100: // document.body.style.zoom = 100 / 50; // break; // // 4k屏时屏幕缩放比为125% // case 125: // document.body.style.zoom = 100 / 62.5; // break; // // 4k屏时屏幕缩放比为150% // case 150: // document.body.style.zoom = 100 / 75; // break; // // 4k屏时屏幕缩放比为175% // case 175: // document.body.style.zoom = 100 / 87.4715; // break; // // 4k屏时屏幕缩放比为200% // case 200: // document.body.style.zoom = 100 / 100; // break; // // 4k屏时屏幕缩放比为225% // case 225: // document.body.style.zoom = 100 / 112.485; // break; // default: // break; // } document.body.style.zoom = 100 / (Number(m)/2); }else{ document.body.style.zoom = 100 / Number(m); }

最后结果:虽然屏是4k的                  ,但是系统展示页面的可视区域依旧是1920*1080的                            ,页面样式也没有乱         。

声明:本站所有文章         ,如无特殊说明或标注                  ,均为本站原创发布                            。任何个人或组织                            ,在未征得本站同意时         ,禁止复制         、盗用         、采集                            、发布本站内容到任何网站                  、书籍等各类媒体平台                  。如若本站内容侵犯了原著者的合法权益         ,可联系我们进行处理。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
看小说能赚钱的软件中哪一个最好用看小说就可以赚钱的软件有哪些-揭秘一个写小说月入十万的作者,平时都有哪些副业。 #创业日记 在家怎么赚钱?(在家**如何赚钱吗-如何在家挣钱?5个**工作!)