js判斷移動(dòng)端橫豎屏視口檢測(cè)實(shí)現(xiàn)的幾種方法
1、不同視口的獲取方法
// 獲取視覺(jué)視口大?。òù怪睗L動(dòng)條) let iw = window.innerWidth, ih = window.innerHeight; console.log(iw, ih); // 獲取視覺(jué)視口大小(內(nèi)容區(qū)域大小,包括側(cè)邊欄、窗口鑲邊和調(diào)整窗口大小的邊框) let ow = window.outerWidth, oh = window.outerHeight; console.log(ow, oh); // 獲取屏幕理想視口大小,固定值(屏幕分辨率大?。? let sw = window.screen.width, sh = window.screen.height; console.log(sw, sh); // 獲取瀏覽器可用窗口的大小(包括內(nèi)邊距、但不包括垂直滾動(dòng)條、邊框和外邊距) let aw = window.screen.availWidth, ah = window.screen.availHeight; console.log(aw, ah); // 包括內(nèi)邊距、滾動(dòng)條、邊框和外邊距 let dow = document.documentElement.offsetWidth, doh = document.documentElement.offsetHeight; console.log(dow, doh); // 在不使用滾動(dòng)條的情況下適合視口中的所有內(nèi)容所需的最小寬度和高度 let dsW = document.documentElement.scrollWidth, dsH = document.documentElement.scrollHeight; console.log(dsW, dsH); // 包含元素的內(nèi)邊距,但不包括邊框、外邊距或者垂直滾動(dòng)條 let cw = document.documentElement.clientWidth, ch = document.documentElement.clientHeight; console.log(cw, ch);
2、JavaScript檢測(cè)橫豎屏
// window.orientation:獲取屏幕旋轉(zhuǎn)方向 window.addEventListener('resize', () => { // 正常方向或屏幕旋轉(zhuǎn)180度 if (window.orientation === 180 || window.orientation === 0) { console.log('豎屏') } // 屏幕順時(shí)鐘旋轉(zhuǎn)90度或屏幕逆時(shí)針旋轉(zhuǎn)90度 if (window.orientation === 90 || window.orientation === -90) { console.log('橫屏') } });
3、CSS檢測(cè)橫豎屏
/* css檢測(cè)橫豎屏 */ @media screen and (orientation:portrait) { /* 豎屏 */ #app { width: 100vw; height: 100vh; background: red; } } @media screen and (orientation:landscape) { /* 橫屏 */ #app { width: 50vw; height: 100vh; background: green; } }
4、meta標(biāo)簽屬性設(shè)置
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
5、meta標(biāo)簽屬性設(shè)置設(shè)置劉海屏&底部小黑條
<meta name="viewport" content="viewport-fit=cover" />
設(shè)置安全區(qū)域與邊界的距離
/* 當(dāng)使用底部固定導(dǎo)航欄時(shí),我們要為他們?cè)O(shè)置 padding值: */ body { padding-bottom: constant(safe-area-inset-bottom); padding-bottom: env(safe-area-inset-bottom); }
注:constant 函數(shù)在iOS < 11.2時(shí)生效,env 在iOS >= 11.2時(shí)生效
到此這篇關(guān)于js判斷移動(dòng)端橫豎屏視口檢測(cè)實(shí)現(xiàn)的幾種方法的文章就介紹到這了,更多相關(guān)js 移動(dòng)端橫豎屏視口檢測(cè)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript 參數(shù)中的數(shù)組展開(kāi) [譯]
有些時(shí)候,我們需要把一個(gè)數(shù)組展開(kāi)成多個(gè)元素,然后把這些元素作為函數(shù)調(diào)用的參數(shù).JavaScript中可以使用Function.prototype.apply來(lái)實(shí)現(xiàn)這種展開(kāi)操作,但它不能被應(yīng)用在執(zhí)行構(gòu)造函數(shù)的情況下.本文解釋了什么是展開(kāi)操作以及如何在使用new運(yùn)算符的同時(shí)進(jìn)行展開(kāi)操作2012-09-09微信小程序使用echarts獲取數(shù)據(jù)并生成折線圖
這篇文章主要介紹了微信小程序使用echarts獲取數(shù)據(jù)并生成折線圖,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10JS簡(jiǎn)單實(shí)現(xiàn)多級(jí)Select聯(lián)動(dòng)菜單效果代碼
這篇文章主要介紹了JS簡(jiǎn)單實(shí)現(xiàn)多級(jí)Select聯(lián)動(dòng)菜單效果代碼,涉及JavaScript數(shù)組元素的遍歷及動(dòng)態(tài)設(shè)置select的實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-09-09如何根據(jù)url?批量下載二維碼實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了如何根據(jù)url批量下載二維碼實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05由淺入深講解Javascript繼承機(jī)制與simple-inheritance源碼分析
Javascript語(yǔ)言對(duì)繼承實(shí)現(xiàn)的并不好,需要工程師自己去實(shí)現(xiàn)一套完整的繼承機(jī)制。下面我們由淺入深的系統(tǒng)掌握使用javascript繼承的技巧,對(duì)javascript繼承相關(guān)知識(shí)感興趣的朋友一起看看吧2015-12-12微信小程序?qū)崿F(xiàn)側(cè)邊導(dǎo)航欄
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)側(cè)邊導(dǎo)航欄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07JS繪圖Flot如何實(shí)現(xiàn)可選顯示曲線圖功能
這篇文章主要介紹了JS繪圖Flot如何實(shí)現(xiàn)可選顯示曲線圖功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10js 右鍵菜單,支持不同對(duì)象不同菜單(兼容IE、Firefox)
版本雖然很老也不符合標(biāo)準(zhǔn)了,不過(guò)代碼是值得參考的,需要右鍵菜單的朋友可以參考下。2010-01-01