window窗口尺寸和window.screen屏幕尺寸的正确理解

本文详细解释了浏览器窗口尺寸和屏幕尺寸的区别,并提供了获取这两种尺寸的具体方法。文章针对不同浏览器版本给出了兼容性的解决方案。

*以前用到媒体查询,以当前窗口大小为判断条件的时候,window窗口大小和屏幕大小的用法和写法,傻傻分不清楚,今天来梳理一下。

一、首先来说说window窗口大小:

浏览器的窗口尺寸的理解:浏览器的视口(不包括工具栏和滚动条)。
如下图:

*1.窗口宽度就是整个浏览器左边到右边(包括上下滚动条的宽度)的宽度。注意,上图没有水平的左右滚动条,但是窗口宽度是不包
括水平滚动条中未出现的界面,只取浏览器最大化后的可见视口(即上图左右红色箭头标注处)。
*2.窗口高度为上图黄色区域(工具栏)下边到红色区域(任务栏)上边的距离(包括水平左右滚动条的高度),不包括上下滚动条中
未出现的界面,只取最大化浏览器后的可见界面。

获取尺寸的方法有几种:

1.对于IE、Chrome、FF、Safari等
宽度:window.innerWidth.
高度:window.innerHeight.
2.对于IE8、7、6、5:
宽度:document.documentElement.clientWidth 或者document.body.clientWidth
高度:document.documentElement.clientHeight 或者 document.body.clientHeight

二、Window Screen 屏幕尺寸

1.screen宽度也就是我们的屏幕分辨率的宽度。
2.screen高度是除去我们底部任务栏外的屏幕高度。

    获取尺寸的方法:

*window.screen对象在编写时可以不使用 window 这个前缀

1.screen.availWidth - 可用的屏幕宽度

2.screen.availHeight - 可用的屏幕高度

实例如:
<span style="white-space:pre">	</span><script>
<span style="white-space:pre">		</span>document.write("Available Width: " + screen.availWidth);
<span style="white-space:pre">	</span></script>




window.screen对象是JavaScript中用于获取用户屏幕信息的对象,提供了关于用户屏幕的尺寸、可用空间、颜色深度等属性。以下是对其属性的详细介绍及使用示例: ### 常用属性及含义 - `screen.width`:返回以像素计的访问者屏幕宽度(分辨率值)[^2][^3]。 - `screen.height`:返回以像素计的访问者屏幕的高度(分辨率值)[^2][^3]。 - `screen.availWidth`:返回访问者屏幕的宽度,以像素计,减去诸如窗口工具条之类的界面特征(空白空间)[^2][^3]。 - `screen.availHeight`:返回访问者屏幕的高度,以像素计,减去诸如窗口工具条之类的界面特征(空白空间)[^2][^3]。 - `screen.colorDepth`:返回用于显示一种颜色的比特数[^2]。 - `screen.pixelDepth`:返回屏幕的像素深度[^2]。 ### 使用示例 ```javascript // 获取屏幕宽度(分辨率值) const screenWidth = window.screen.width; console.log('屏幕宽度(分辨率值): ', screenWidth); // 获取屏幕高度(分辨率值) const screenHeight = window.screen.height; console.log('屏幕高度(分辨率值): ', screenHeight); // 获取屏幕可用宽度(空白空间) const availWidth = window.screen.availWidth; console.log('屏幕可用宽度(空白空间): ', availWidth); // 获取屏幕可用高度(空白空间) const availHeight = window.screen.availHeight; console.log('屏幕可用高度(空白空间): ', availHeight); // 获取屏幕颜色深度 const colorDepth = window.screen.colorDepth; console.log('屏幕颜色深度: ', colorDepth); // 获取屏幕像素深度 const pixelDepth = window.screen.pixelDepth; console.log('屏幕像素深度: ', pixelDepth); ``` ### 相关资源 - MDN Web Docs: Window.screen - 提供了关于screen对象的详细文档示例代码。 - W3Schools: JavaScript Screen Object - 提供了关于screen对象的简单介绍示例代码。 随着Web技术的不断发展,可能会有更多关于屏幕显示的技术被引入到JavaScript中,例如更高级的全屏API、对HDR更高颜色深度的支持等[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值