版权声明

转载请告知并注明来源作者

作者:唐金健

网络昵称:御焱

掘金知乎思否专栏:优雅的前端

前言

有时候在获取浏览器、元素、屏幕的尺寸,傻傻分不清。为了让自己清晰认识,能够快速确定自己需要哪个属性,现在把这些尺寸属性整理了一下。

一、浏览器视口的宽高

Window.innerWidth、Window.innerHeight

浏览器视口(viewport)宽度(单位:像素),如果存在滚动条则包括它。

语法

let viewportWidth = window.innerWidth;

let viewportHeight = window.innerHeight;

备注

window.innerWidth和window.innerHeight是只读属性,无默认值。

如果HTML中添加了以下内容,则页面在移动端访问的时候,视口宽高始终与逻辑分辨率一致。

否则,移动端浏览器会在一个通常比屏幕更宽的虚拟”窗口“(视口)中渲染页面。

二、浏览器的宽高

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;

html浏览器宽度,JavaScript获取浏览器、元素、屏幕的宽高尺寸相关推荐

  1. JavaScript获取浏览器、元素、屏幕的宽高尺寸

    版权声明 转载请告知并注明来源作者 作者:唐金健 网络昵称:御焱 掘金知乎思否专栏:优雅的前端 前言 有时候在获取浏览器.元素.屏幕的尺寸,傻傻分不清.为了让自己清晰认识,能够快速确定自己需要哪个属性 ...

  2. html中获取浏览器窗口宽度,JavaScript 获取浏览器窗口的大小

    简明现代魔法 -> JavaScript -> JavaScript 获取浏览器窗口的大小 JavaScript 获取浏览器窗口的大小 2010-04-16 程序演示: 获取浏览器当前窗口 ...

  3. 在Vue中获取DOM元素的实际宽高

    最近使用 D3.js 开发可视化图表,因为移动端做了 rem 适配,所以需要动态计算获取图表容器的宽高,其中涉及到一些原生DOM API的使用,避免遗忘这里总结一下. 一.获取元素 在 Vue 中可以 ...

  4. Html百分比设宽偏差大,absolute和relative元素 设置百分比宽高的差异

    一般元素在页面所占的空间包括:magin border padding content.以前一直以为子元素设置百分比宽高都是以父元素的content值为基准计算的.但是当子元素的position不同时 ...

  5. Javascript 获取浏览器窗口中文档(视口)可用尺寸的方法

    摘要: 由于浏览器的差异,许多信息的获取都要考虑兼容性,窗口中文档可用尺寸是一个经常需要用到的信息,由于浏览器不同甚至版本不同,获取的方法也不一样,本文介绍的函数能够兼容各种浏览器,获取这一信息.同时 ...

  6. JavaScript获取浏览器可视区域的宽高

    JavaScript获取浏览器可视区域的宽高 在做项目的时候,我们常常需要对项目做一些优化,来提升页面响应的速度,比如进入可视区域后再发送请求获取数据或者是填充模板,这个时候就需要能够获取到浏览器的可 ...

  7. 浏览器开发者模式获取页面元素

    web开发中经常会借鉴体验较好或者合适的网站,可以直接拿过来用.这时通过浏览器开发者模式获取页面元素非常方便,一是能快速获取页面元素.二是能查看页面元素相对路径便于分类,下面以Google为例介绍 1 ...

  8. JavaScript 获取一元素的所有子元素

    JavaScript 获取一元素的所有子元素 现有一表格,代码如下: < table  border =1  cellpadding =0  cellspacing =0  width =300 ...

  9. javascript 快速获取图片实际大小的宽高

    javascript 快速获取图片实际大小的宽高 简陋的获取图片实际宽高的方式 // 图片地址 var img_url = '13643608813441.jpg'// 创建对象 var img = ...

最新文章

  1. 基于Golang的CLI 命令行程序开发
  2. 6.1.Scrapy项目
  3. [云炬创业基础笔记]第二章创业者测试6
  4. 手把手带你领略双十一背后的核心组件Sentinel之流控规则
  5. C++描述杭电OJ 2016. 数据的交换输出 ||
  6. magento创建自定义页面 (Bestseller实例) Bestseller products in Magento
  7. Java8中String.join方法,让我们的代码更优美
  8. 无法打开包括文件: “QTcpSocket”: No such file or directory
  9. Flask开发系列之初体验
  10. objdump: ‘1443.14.0)‘: No such file or directory
  11. mongovue mysql_mongo客户端mongoVUE的使用
  12. 计算机的ie丢失,告诉你win7内的IE给卸载了怎么找回
  13. python playsound播放时关闭_使用playsound modu停止音频
  14. ArcGIS Pro2.5安装步骤(含Pro2.5安装包)
  15. 通过SQL语句数据库简繁体转换
  16. Windows 10打开Java控制面板
  17. 再聊聊Python中文社区的翻译
  18. RK987单色三模键盘使用说明书
  19. win10如何修改系统文件夹名字
  20. 转:Emacs生存指南 (Emacs入门必读)

热门文章

  1. “游戏开发入门指南——Unity+”的食用指南
  2. 3种办法找回苹果iPhone删除的照片
  3. rhinopython批量添加图层
  4. JS经典面试题:JS原型、原型链
  5. java计算机毕业设计ssm智慧餐厅点餐管理系统(源码+系统+mysql数据库+Lw文档)
  6. 指针中的战斗机---智能指针!!!
  7. 尼葛洛庞帝:软件越做越臃肿 Linux亦不例外
  8. 度假巴厘岛2010 --- 田野风光
  9. Oracle Database 11g数据库管理艺术(涵盖DBA必知必会的所有数据库管理知识)
  10. android端日志查看调试利器Logcat Reader