上面的按错提交了,补充一下
js中令人混乱的各种高度宽度
1. dom.style.width、height
只能取到dom元素内联样式所设置的宽高属性值
2. dom.currentStyle.width、height
IE下获取所有样式的宽高属性值
3. dom.clientWidth、clientHeight
- 可视区域的大小
document.documentElement.clientWidth
document.documentElement.clientHeight
- 普通元素
content + padding
4. dom.offsetWidth、offsetHeight
content + padding + border
5. dom.clientTop、clientLeft
border-top、border-left
6. dom.getBoundingClientRect()
- width/height : content + padding + border
- x/y : 元素的左上角和父元素左上角的距离
- top/left : 元素上/左边界和父元素上/左边界之间的距离
- right/bottom : 元素右/下边界和父元素左/上边界之间的距离
7. dom.offsetTop、offsetLest
元素距离窗口上/左边的偏移量
8. dom.scrollWidth、scrollHeight
- 页面实际的大小
document.documentElement.scrollWidth
document.documentElement.scrollHeight
- 普通元素
content + padding
9. dom.scrollTop、scrollLeft
一般是document.documentElement.scrollTop、document.documentElement.scrollLeft,普通元素如果没有产生滚动条则值为0
10. window.screenX、window.screenY
窗口左上角和屏幕左上角的距离
11. window.screen.width、window.screen.height
屏幕宽高
12. window.screen.availWidth、window.screen.availHeight
屏幕可用宽高(去除任务栏)
13. window.innerWidth、window.innerHeight
窗口的内高度、内宽度(文档显示区域+滚动条)
14. window.outerWidth、window.outerWidth
整个浏览器窗口的宽高,包括所有
15. window.scrollX、scrollY
文档已滚动的像素值
window.pageXOffset、pageXOffset分别是scrollX、scrollY属性的别名,为了跨浏览器兼容性,建议使用 window.pageXOffset 、pageXOffset代替 window.scrollX、scrollY