加载中

JS-盒子模型

offset属性

属性
offsetWidth / offsetHeightborder+padding+width
offsetLeft / offsetTopmargin+fater’s padding(fater需有定位,若没有则以body为fater)
offsetParent获取 定位!=static 的父对象(若父对象都没定位则返回body)

在这里插入图片描述

scroll属性

scroll用于获取带(不带也可以)滚动条盒子的尺寸信息

属性
scrollWidth / scrollHeightpadding+width
scrollTop / scrollLeft超出部分的(padding+width)

在这里插入图片描述

body兼容问题

body的scrollTop/scrollLeft存在兼容性问题,除body外的其他元件没有兼容问题

文档没有DTD声明时用:

document.body.scrollTop
document.body.scrollLeft

文档有DTD声明时用:

document.documentElement.scrollTop
document.documentElement.scrollLeft

无视DTD声明的写法(谷歌、火狐、IE9+支持):

window.pageYOffset
window.pageXOffset

兼容性写法:

window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop

client属性

属性
clientWidth / clientHeightpadding+width
clientTop /clientLeft对应 border-top-width 和 border-left-width
clientX / clientY鼠标距离可视区域左上角的距离(用于事件,详看事件小节)

body兼容问题

文档没有DTD声明时用:

document.body.clientWidth
document.body.clientHeight

文档有DTD声明时用:

document.documentElement.clientWidth
document.documentElement.clientHeight

无视DTD声明的写法(谷歌、火狐、IE9+支持):

window.innerWidth
window.innerHeight

兼容性写法:

window.innerHeight||document.body.clientHeight||document.documentElement.clientHeight
posted @ 2019-08-14 09:54  jialeYang  阅读(41)  评论(0编辑  收藏  举报