Author | 王平安 |
---|---|
pingan8787@qq.com | |
博 客 | www.pingan8787.com |
微 信 | pingan8787 |
每日文章 | https://0x9.me/KMrv3 |
一、网页可见区域宽高(浏览器窗口可视区域大小)
不包括工具栏和滚动条
- 1.对于IE9+、chrome、firefox、Opera、Safari:
1 | // 浏览器窗口的内部高度 |
- 2.对于IE8.7.6.5:
1 | // 表示HTML文档所在窗口的当前高度 |
或者,因为document
对象的body
属性对应HTML文档
的<body>
标签,所以也可表示为:
1 | // 表示HTML文档所在窗口的当前高度 |
结论:document.body.clientWidth/Height
的宽高偏小,高甚至默认200;document.documentElement.clientWidth/Height
和 window.innerWidth/Height
的宽高始终相等。
所以在不同浏览器都实用的的Javascripit方案:
1 | let height = document.documentElement.clientWidth || document.body.clientWidth; |
二、网页正文全文宽高
scrollWidth
和 scrollHeight
获取网页内容高度和宽度:
1.针对IE.Opera:
scrollHeight
是网页内容实际高度,可以小于clientHeight
;2.针对NS.firefox:
scrollHeight
是网页内容高度,不过最小值是clientHeight
;也就是说网页内容实际高度小于clientHeight
的时候,scrollHeight
返回clientHeight
;3.浏览器兼容代码:
1 | let height = document.documentElement.scrollHeight || document.body.scrollHeight; |
三、网页可见区域宽高,包括滚动条等边线(会随窗口的显示大小改变)
1.值:
offsetWidth = scrollWidth + 左右滚动条 + 左右边框;
offsetHeight = scrollHeight + 上下滚动条 + 上下边框;2.浏览器兼容代码:
1 | let width = document.documentElement.offsetWidth || document.body.offsetWidth ; |
四、网页卷去的距离与偏移量
1.scrollLeft
:设置或获取位于给定对象左边界与窗口中目前可见内容的最左端之间的距离;
2.scrollTop
:设置或获取位于给定对象最顶端与窗口中目前可见内容的最左端之间的距离;
3.offsetLeft
:设置或获取位于给定对象相对于版面或由offsetParent属性指定的父坐标的计算左侧位置;
4.offsetTop
:设置或获取位于给定对象相对于版面或由offsetParent属性指定的父坐标的计算顶端位置;
常用高度/宽度获取的整理
- 1.获取屏幕的高度和宽度(屏幕分辨率):
1 | window.screen.height |
- 2.获取屏幕工作区域的高度和宽度(去掉状态栏):
1 | window.screen.availHeight |
- 3.网页全文的高度和宽度:
1 | document.body.scrollHeight |
- 4.滚动条卷上去的高度和向右卷的宽度:
1 | document.body.scrollTop |
- 5.网页可见区域的高度和宽度(不加边线):
1 | document.body.clientHeight |
- 6.网页可见区域的高度和宽度(加边线):
1 | document.body.offsetHeight |