需求:我在1920*1080分辨率的電腦上寫的代碼,想在低分辨率下能夠正常顯示(即margin: 0 auto 的版心部分能正常居中顯示),且在移動端的瀏覽器下能夠自動自動縮放至顯示整個網頁的方法,而不是顯示1920*1080的分辨率,這樣會需要用戶手動縮放瀏覽器網頁才能看到整個網頁
做法:
1.判斷是PC端訪問的網頁還是移動端訪問的網頁
isPc() {
let userAgentInfo = navigator.userAgent;
let Agents = ["Android", "iPhone",
"SymbianOS", "Windows Phone",
"iPad", "iPod"];
let flag = true;
for (var v = 0; v < Agents.length; v++) {
if (userAgentInfo.indexOf(Agents[v]) > 0) {
flag = false;
break;
}
}
this.isPcAttr = flag;
},
2.如果是PC端,則將body的寬設置爲100%,如果是移動端,則設置爲1920px,我這裏的div是body下一級的父div
<div :style="{width: `${isPcAttr ? '100%': '1920px'}`}"></div>
3.設置meta
<meta name="viewport" content="width=device-width, initial-scale=0.1">
這裏initial-scale設置爲0.1,表示將網頁縮放至最小,以至於用戶在移動端進入網頁就能看到網頁全貌,正常情況下都是設置爲1,但是設置爲1的話,在移動端會需要用戶手動縮放網站