html页面上获取列表的长度,HTML页面中JavaScript能获取到的各种屏幕大小信息

在HTML页面中,通过JavaScript代码访问 window 对象,能够获取到很多表征屏幕大小的信息,下面列举并加以区分。

window 对象中的屏幕信息

window.innerheight、 window.innerwidth

只读属性,以像素计

浏览器窗口的文档显示区的高度和宽度

不包括菜单栏、工具栏以及滚动条等的高度

IE8以下不支持这些属性,用 document.documentElement 或 document.body (与 IE 的版本相关)的 clientWidth 和 clientHeight 属性作为替代

window.outerheight、 window.outerwidth

只读属性,以像素计

整个浏览器窗口的高度和宽度

常用于设置 window.open 打开的窗口宽度和高度

IE8以下不支持此属性,且没有提供替代的属性

window.screenLeft、 window.screenTop、 swindow.creenX、 window.screenY

只读属性,整数

浏览器窗口的左上角在屏幕上的的 x 坐标和 y 坐标

IE、Safari 和 Opera 支持 screenLeft 和 screenTop

Firefox 和 Safari 支持 screenX 和 screenY

window.screen.availHeight、 window.screen.availHeightavailWidth

以像素计

浏览器的屏幕的可用高度和宽度

Windows中不包括分配给半永久特性(如屏幕底部的任务栏)的垂直空间

window.screen.height、 window.screen.width

以像素计

显示器屏幕的高度和宽度

调整显示设备的分辨率会发生变化

少部分移动设备上面的值并不是真正的显示屏大小,如三星S8

document 对象中的屏幕信息

很复杂!真的很复杂!这些值根据是否指定 DOCTYPEIE 、网页是否超过窗口宽度 有关系。而且FireFox,Chrome这些主流浏览器里面针对元素的 clientWidth、 offsetWidth、 scrollWidth信息技术都有各自的标准。下面简单说明作为参考。详细新在实际应用中进行调整。

下面的 document.body 和 document.documentElement 类似,body也是一个DOM element。

document.body.clientHeight、 document.body.clientWidth

浏览器中可显示内容区域的高度和宽度

document.documentElement 表示元素的可见高度和宽度

与页面内容多少无关

滚动条不算在内,padding算在内

clientHeight = topPadding + bottomPadding+ height – scrollbar.height

document.body.offsetHeight、 document.body.offsetWidth

包括边线的网页内容可见区域高度和宽度

offsetHeight = clientHeight + 滚动条 + 边框

document.body.scrollHeight、 document.body.scrollWidth

网页正文全文高度和宽度

不同的浏览器中 scrollHeight 和 clientHeight 的大小关系不一样

解决方案

可以使用下面的方式折中取 scrollWidth 和 clientWidth :

下面列举通用HTML元素 element 的大小属性信息:

element.clientHeight : 元素的可见高度

element.clientWidth : 元素的可见宽度

element.offsetHeight : 元素的高度

element.offsetWidth : 元素的宽度

element.offsetLeft : 元素的水平偏移位置

element.offsetTop : 元素的垂直偏移位置

element.offsetParent : 元素的偏移容器

element.scrollHeight : 元素的整体高度

element.scrollLeft : 元素左边缘与视图之间的距离

element.scrollTop : 元素上边缘与视图之间的距离

element.scrollWidth : 元素的整体宽度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值