最近在做一个项目,突然发现由于调整电脑的分辨率导致页面变形的问题。正常电脑显示的是100%,当调整电脑缩放至125%时,页面发生变形,由于css设置问题,变形部分的页面设置不可拖拽和显示,严重影响项目功能和体验。在解决问题的过程中,还遇到了由于分辨率不同导致的显示问题。
最后通过百度解决了问题,记录一下放置下次遇到。

电脑缩放问题解决

1.创建文件 DevicePixelRatio.js

/**
* @description 校正windows页面在系统进行缩放后导致页面被放大的问题,通常放大比例是125%、150%
* **/ class DevicePixelRatio {
constructor() {
}
//获取系统类型
_getSystem() {
let flag = false;
var agent = navigator.userAgent.toLowerCase();
if(agent.indexOf("windows") >= 0) {
return true;
}
}
//获取页面缩放比例
_addHandler(element, type, handler) {
if(element.addEventListener) {
element.addEventListener(type, handler, false);
} else if(element.attachEvent) {
element.attachEvent("on" + type, handler);
} else {
element["on" + type] = handler;
}
}
//校正浏览器缩放比例
_correct() {
let t = this;
//页面devicePixelRatio(设备像素比例)变化后,计算页面body标签zoom修改其大小,来抵消devicePixelRatio带来的变化。
document.getElementsByTagName('body')[0].style.zoom = 1 / window.devicePixelRatio;
}
//监听页面缩放
_watch() {
let t = this;
t._addHandler(window, 'resize', function() { //注意这个方法是解决全局有两个window.resize
//重新校正
t._correct()
})
}
//初始化页面比例
init() {
let t = this;
if(t._getSystem()) { //判断设备,目前只在windows系统下校正浏览器缩放比例
//初始化页面校正浏览器缩放比例
t._correct();
//开启监听页面缩放
t._watch();
}
}
}
export default DevicePixelRatio;

2.在App.vue中导入

import DevicePixelRatio from '@/utils/DevicePixelRatio.js';
setup() {
...
onMounted(() => {
new DevicePixelRatio().init();
})
}

屏幕分辨率问题解决

1.在App.vue中使用等比例放缩

const bodyScale = () => {
var devicewidth = document.documentElement.clientWidth;//获取当前分辨率下的可是区域宽度
var scale = devicewidth / 1920; // 分母——设计稿的尺寸
document.body.style.zoom = scale;//放大缩小相应倍数
}
setup() {
...
onMounted(() => {
bodyScale();
})
}

参考文章:Vue3 解决电脑分辨率及缩放导致页面变形的问题

下班~

【Vue3】解决电脑分辨率125%、150%及缩放导致页面变形的问题的更多相关文章

  1. javaSript 处理电脑和浏览器pc端缩放对页面的影响

    由于用户的个人习惯或其他原因,可能会调整到电脑上的缩放比例或者浏览器的缩放比例,如果访问页面会看起来比较不好看, 电脑上的缩放: 浏览器上的缩放: 解决方法: function detectZoom( ...

  2. Response.Write输出导致页面变形和页面白屏解决办法

    方法一:此方法应该是微软官方推荐的方法,但弹出时会造成页面白屏.Page.RegisterStartupScript("TestEvent", "<script&g ...

  3. Nginx下完美解决WordPress的伪静态 (wordpress 迁移后 导致 页面404)

    直奔主题 如何设置WordPress在 Nginx下的伪静态 第一步:按照文章名为例,登陆后台按照箭头顺序修改固定连接,点击保存更改 第二步:登陆宝塔面板后台,按照文件路径 找到属于要配置域名的con ...

  4. 解决电脑访问Discuz!手机版(支持触屏版)

    discuz电脑访问手机版的方法现在需要来修改一下2个文件,即可用电脑浏览discuz的手机版本:找到./source/function/function_core.php 文件,查找 : funct ...

  5. 180508 - 解决有关VIVO的2018-04-01安全补丁导致的APP闪退问题

    解决有关VIVO的2018-04-01安全补丁导致的APP闪退问题 [√]问题原因猜测4: 最终解决方案 [√]问题原因猜测3: 尝试解决 [√成功] [×]问题原因猜测2: 尝试解决 [×失败] [ ...

  6. &#65279导致页面顶部空白一行解决方法 【】

    2016年11月7日10:57:10 模板文件生成html文件之后会在body开头处加入一个可见的控制符&#65279,导致页面头部会出现一个空白行.原因是页面的编码是UTF-8 + BOM. ...

  7. &#65279导致页面顶部空白一行解决方法

    模板文件生成html文件之后会在body开头处加入一个可见的控制符&#65279,导致页面头部会出现一个空白行.原因是页面的编码是UTF-8 + BOM. 这种编码方式一般会在windows操 ...

  8. html5新特性:利用history的pushState等方法来解决使用ajax导致页面后退和前进的问题

    一.背景 使用ajax,可以实现不需要刷新整个页面就可以进行局部页面的更新.这样可以开发交互性很强的富客户端程序,减少网络传输的内容.但长期以来存在一个问题,就是无法利用浏览器本身提供的前进和后退按钮 ...

  9. 解决:对 PInvoke 函数的调用导致堆栈不对称问题

    解决:对 PInvoke 函数的调用导致堆栈不对称问题 问题描述: 在使用托管代码调用非托管代码时,发生“对 PInvoke 函数“UseTwiHikVisionDllTest!UseTwiHikVi ...

  10. Response.Write()方法响应导致页面字体变大的解决办法

    关于ASP.NET中用Response.Write()方法响应导致页面字体变大的解决办法     最近研究了ASP.NET,发现一个问题,比方说在页面里面有个Button,要点击以后要打开新窗口,而且 ...

随机推荐

  1. 浅谈iPaaS对企业转型的重要性

    面对数字化转型的大浪潮,众多企业都期望着能快速实现全面的数字化转型,让企业在日益激烈的竞争中拥有更稳的市场地位,提升自身的实力及能力,奠定更坚实的基底.但在数字化转型过程中,部分企业数字化基础水平较薄 ...

  2. Maui 实践:不要把 DataPackagePropertySetView 看作一层皮

    -- 再论为控件动态扩展 DragDrop 能力 夏群林 原创 2025.7.18 一.Drag / Drop 之间传递的参数 前文提到,拖放的实现需要 DragGestureRecognizer 与 ...

  3. adb 指令大全

    adb 指令 指令 说明 adb devices 查看连接设备 adb shell ps 查看进程 adb shell settings get secure android_id android_i ...

  4. mt19937 简单介绍

    简介 mt19937 是一种伪随机数生成器.其随机数质量,随机数范围与常数都比同为随机数生成器的 rand 优秀得多. 定义 mt19937 myrand(time(0)); 上述的代码定义了一个以时 ...

  5. 【OpenSSL】哈希、非对称加密和对称加密函数使用

    1.哈希 1.1 md5的使用 头文件 #include <openssl/md5.h> #include <openssl/sha.h> MD5 散列值的长度 # defin ...

  6. D - Tokitsukaze and Multiple

    https://vjudge.net/contest/386223#problem/D   Tokitsukaze has a sequence of length nn, denoted by aa ...

  7. SharpZipLib 中文乱码

    System.Text.Encoding encode = System.Text.Encoding.GetEncoding("gbk");ZipStrings.CodePage ...

  8. 信而泰RENIX 802.1ag功能介绍-网络测试仪实操

    一.EOAM概述​ 1.以太网​ 1.1以太网优点​ 简单易用​ 价格低廉​ 高拓展性​ 大势所趋,一统天下​ 1.2以太网缺点​ 可管理性差​ 定位故障手段少​ 定位故障速度慢​ 维护成本高​ ​ ...

  9. 【推荐+1】HarmonyOS官方模板优秀案例 (第4期:餐饮行业 · 美食菜谱)

    鸿蒙生态为开发者提供海量的HarmonyOS模板/组件,助力开发效率原地起飞 ★ 一键直达生态市场组件&模板市场 , 快速应用DevEco Studio插件市场集成组件&模板 ★ 好用 ...

  10. 【转】最优日志系统,Log4j 还是 Logback?

    引言 在 Java 项目开发中,一个正式的项目,一定离不开日志的输出,而常用的日志输出框架又绕不开 Log4j 和 Loback. Log4j Apache Log4j 是一种 Java 日志记录工具 ...