1. How to obtain different viewports// Get the visual viewport size (including vertical scroll bar) let iw = window.innerWidth, ih = window.innerHeight; console.log(iw, ih); // Get the visual viewport size (the size of the content area, including the sidebar, window chrome, and borders for resizing the window) let ow = window.outerWidth, oh = window.outerHeight; console.log(ow, oh); // Get the ideal viewport size of the screen, fixed value (screen resolution size) let sw = window.screen.width, sh = window.screen.height; console.log(sw, sh); // Get the size of the browser's available window (including padding, but excluding vertical scroll bars, borders, and margins) let aw = window.screen.availWidth, ah = window.screen.availHeight; console.log(aw, ah); // Including padding, scrollbars, borders and margins let dow = document.documentElement.offsetWidth, doh = document.documentElement.offsetHeight; console.log(dow, doh); // The minimum width and height required to fit all content in the viewport without using scrollbars let dsW = document.documentElement.scrollWidth, dsH = document.documentElement.scrollHeight; console.log(dsW, dsH); // Includes the element's padding, but not borders, margins, or vertical scrollbars let cw = document.documentElement.clientWidth, ch = document.documentElement.clientHeight; console.log(cw, ch); 2. JavaScript detection of horizontal and vertical screen// window.orientation: Get the screen rotation direction window.addEventListener('resize', () => { // Normal orientation or screen rotated 180 degrees if (window.orientation === 180 || window.orientation === 0) { console.log('vertical screen') } // The screen rotates 90 degrees clockwise or 90 degrees counterclockwise if (window.orientation === 90 || window.orientation === -90) { console.log('horizontal screen') } }); 3. CSS detection of horizontal and vertical screen/*css detection of horizontal and vertical screen*/ @media screen and (orientation:portrait) { /* Vertical screen */ #app { width: 100vw; height: 100vh; background: red; } } @media screen and (orientation:landscape) { /* Horizontal screen */ #app { width: 50vw; height: 100vh; background: green; } } 4. Meta tag attribute settings<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> 5. Meta tag attribute settings Set up the notch screen & bottom black bar<meta name="viewport" content="viewport-fit=cover" /> Set the distance between the safe area and the border /* When using the bottom fixed navigation bar, we need to set the padding value for them: */ body { padding-bottom: constant(safe-area-inset-bottom); padding-bottom: env(safe-area-inset-bottom); } Note: constant function is effective when iOS < 11.2, env is effective when iOS >= 11.2 This concludes this article about several methods of using js to determine the horizontal and vertical viewport detection on mobile terminals. For more relevant content on js horizontal and vertical viewport detection on mobile terminals, please search previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope you will support 123WORDPRESS.COM in the future! You may also be interested in:
|
<<: How to use vs2019 for Linux remote development
>>: MySQL index leftmost principle example code
Jiedaibao is a mobile phone loan software platfor...
The css technique for changing the color of an im...
The server reports an error 502 when synchronizin...
Preparation 1. Start the virtual machine 2. git t...
Table of contents Is setState synchronous or asyn...
This note is an installation tutorial. It has no ...
This article example shares the specific code of ...
Table of contents Preface: Step 1: Find the free ...
Pure js implements a single-click editable table ...
1. Function Introduction sed (Stream EDitor) is a...
The solution to the problem that mysql cannot be ...
Table of contents Prepare Five weapons for…in Obj...
Table of contents forEach() (ES6) method map() (E...
The implementation of expanding and collapsing li...
If you forget your MySQL login password, the solu...