100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > vue项目屏幕分辨率屏幕的缩放适配-教程

vue项目屏幕分辨率屏幕的缩放适配-教程

时间:2019-01-09 08:49:02

相关推荐

vue项目屏幕分辨率屏幕的缩放适配-教程

笔记本或者显示器 默认设置125%或者150%缩放,导致布局错乱的解决方法

现在很多14寸的笔记本,出厂默认就是150%的显示。导致很多时候我们的项目,自己开发的时候都是按照100%比例来开发的,上线了就会发现这个问题

解决方案

vue项目utils下新建devicePixelRatio.js文件

class DevicePixelRatio {constructor() {// this.flag = false;}// 获取系统类型_getSystem() {// let flag = false;var agent = navigator.userAgent.toLowerCase();//var isMac = /macintosh|mac os x/i.test(navigator.userAgent);//if(isMac) {//return false;//}// 现只针对windows处理,其它系统暂无该情况,如有,继续在此添加if (agent.indexOf('windows') >= 0) {return true;}}// 获取页面缩放比例//_getDevicePixelRatio() {//let t = this;//}// 监听方法兼容写法_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;

全局导入App.vue

<script>import DevicePixelRatio from './util/devicePixelRatio'export default {name: 'App',data() {return {}},created() {new DevicePixelRatio().init()}}</script>

刷新页面

不管怎么缩放,125%还是150%,页面都不会去缩放了,就不会出现错乱的问题了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。