等比例缩放可以在不同的分辨率下都能够一屏展示,不会有滚动条的问题,也不会有适配问题。但是会导致浏览器的缩放功能失效。
代码如下:
app.vue
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70<template> <div id="app" :style="{'transform':`scale(${scalesNum}) translate(-50%,0)`, '-webkit-transform':`scale(${scalesNum}) translate(-50%,0)`, '-moz-transform':`scale(${scalesNum}) translate(-50%,0)`, '-o-transform':`scale(${scalesNum}) translate(-50%,0)`, '-ms-transform':`scale(${scalesNum}) translate(-50%,0)`}"> <router-view/> </div> </template> <script> export default{ data () { return { scalesNum: 1 // 缩放比例 } }, mounted () { // 计算缩放比例 this.resize_window() window.addEventListener('resize', () => { this.resize_window() }) }, methods: { resize_window() {// 因为设计图是带1920*1080的,但是浏览器本身带顶部工具栏,所以缩放到时候稍微更小一点,这样不会有滚动条,这个值可以选择更大些,比如2300,这样左右两边会有空白 let myWidth = document.documentElement.clientWidth let myHeight = document.documentElement.clientHeight if( myHeight / 1920 !== 0 && (( myWidth / 1920) / (myHeight / 1080) >= 1)){ console.log() this.scalesNum = myHeight / 1080 }else{ this.scalesNum = myWidth / 1920 } } } } </script> <style> #app{ margin: 0; padding: 0; transform-origin: 0 0; position:relative; width:1920px; height: 1080px; left:50%; overflow: hidden; } </style>
最后
以上就是生动睫毛最近收集整理的关于vue 等比例缩放的全部内容,更多相关vue内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复