JavaScript獲取瀏覽器、元素、螢幕的寬高尺寸
前言
有時候在獲取瀏覽器、元素、螢幕的尺寸,傻傻分不清。為了讓自己清晰認識,能夠快速確定自己需要哪個屬性,現在把這些尺寸屬性整理了一下。
一、瀏覽器視口的寬高
Window.innerWidth、Window.innerHeight
瀏覽器視口(viewport)寬度(單位:畫素),如果存在滾動條則包括它。
語法
let viewportWidth = window.innerWidth;
let viewportHeight = window.innerHeight;
備註
window.innerWidth
和window.innerHeight
是隻讀屬性,無預設值。
如果HTML中新增了以下內容,則頁面在移動端訪問的時候,視口寬高始終與邏輯解析度一致。
否則,移動端瀏覽器會在一個通常比螢幕更寬的虛擬”視窗“(視口)中渲染頁面。
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no" />
二、瀏覽器的寬高
Window.outerWidth、Window.outerHeight
整個瀏覽器視窗的高度(單位:畫素),包括側邊欄(如果存在)、視窗鑲邊(window chrome)和視窗調正邊框(window resizing borders/handles)。
語法
let outerWidth = window.outerWidth;
let outerHeight = window.outerHeight;
備註
window.outerWidth
和window.outerHeight
是隻讀屬性,無預設值。
在使用桌面端瀏覽器的模擬移動裝置檢視網頁時,這兩個屬性,依然指的是桌面端瀏覽器視窗的寬高。
三、元素內部的寬高
Element.clientWidth、Element.clientHeight
元素內部寬 = width + padding-left + padding-right - 豎直滾動條寬度
元素內部高 = height + padding-top + padding-bottom - 橫向滾動條高度
語法
let clientWidth = element.clientWidth;
let clientHeight = element.clientHight;
示例
四、元素的佈局寬高
Element.offsetWidth、Element.offsetHight
元素佈局寬 = width + padding-left + padding-right + 豎直滾動條寬度 + border-left + border-right
元素佈局高 = height + padding-top + padding-bottom + 橫向滾動條高度 + border-top + border-bottom
語法
let offsetWidth = element.offsetWidth;
let offsetHight = element.offsetHight;
示例
五、元素的內容寬高
Element.scrollWidth、Element.scrollHeight
元素的內容寬高,包括由於溢位導致內容在螢幕上下不可見的內容。
語法
let scrollWidth = element.scrollWidth;
let scrollHeight = element.scrollHeight;
示例
六、螢幕的寬高
Screen.width、Screen.height
螢幕解析度寬高。如果是移動裝置,則返回邏輯解析度寬高。
語法
let screenWidth = window.screen.width;
let screenHeight = window.screen.height;
七、螢幕的可用寬高
Screen.availWidth、Screen.availHeight
減去比如Windows的工作列等介面特性的螢幕的可用寬高。如果是移動裝置,則返回邏輯解析度寬高。
語法
let availWidth = window.screen.availWidth;
let availHeight = window.screen.availHeight;
相關文章
- Flutter 中獲取螢幕以及 Widget 的寬高Flutter
- 瀏覽器/元素尺寸相關的屬性瀏覽器
- Flutter使用ScreenUtil獲取螢幕寬高初始化報錯Flutter
- 獲取各種螢幕高度寬度(工作)
- JavaScript 獲取瀏覽器的所使用語言JavaScript瀏覽器
- 使用瀏覽器錄製螢幕瀏覽器
- 最全的獲取元素寬高及位置的方法
- JS,Jquery獲取各種螢幕的寬度和高度JSjQuery
- JS獲取元素寬高的兩種情況JS
- 小程式獲取當前元素在螢幕中的位置
- JavaScript獲取img的原始尺寸JavaScript
- 使用 javascript 獲取瀏覽器(或 WKWebView)的安全區資訊JavaScript瀏覽器WebView
- js 獲取瀏覽器核心JS瀏覽器
- Android -- 工具類(七):[ScreenUtil] (截圖,獲取螢幕寬高,顯示、隱藏虛擬鍵盤,調節螢幕亮度)Android
- 瀏覽器滾動條高度的獲取瀏覽器
- Deskreen 1.0.2 –將電腦螢幕共享到瀏覽器中,做第二塊螢幕瀏覽器
- 短視訊平臺原始碼,Android獲取螢幕的高度和寬度原始碼Android
- 區分瀏覽器視口的尺寸瀏覽器
- iOS 各種螢幕尺寸iOS
- 根據id獲取元素的寬度的方法
- JavaScript獲取父元素下子元素節點JavaScript
- 火狐瀏覽器看影片全屏時會黑一下螢幕瀏覽器
- 瀏覽器儲存密碼獲取與解密瀏覽器密碼解密
- 瀏覽器快取瀏覽器快取
- js/jq 獲取網頁寬高JS網頁
- 為爬蟲獲取登入cookies: 使用browsercookie從瀏覽器獲取cookies爬蟲Cookie瀏覽器
- 可視區、標籤寬高的獲取
- 前端面試瀏覽器系列:瀏覽器快取前端面試瀏覽器快取
- Win10系統下Chrome瀏覽器螢幕閃爍的解決方法Win10Chrome瀏覽器
- Apple裝置螢幕尺寸和方向APP
- win10系統如何獲取高解析度螢幕截圖Win10
- android通過MediaProjection獲取螢幕內容AndroidProject
- 【工具類】PC端所有的螢幕的尺寸
- Flutter之支援不同的螢幕尺寸和方向Flutter
- rem根據螢幕寬度來調整html根元素的font-sizeREMHTML
- JavaScript 通過class獲取元素物件JavaScript物件
- JavaScript 獲取第n個li元素JavaScript
- JavaScript瀏覽器事件物件JavaScript瀏覽器事件物件