JS-盒子模型

Posted yangjiale

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS-盒子模型相关的知识,希望对你有一定的参考价值。

 

offset属性

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

技术图片

scroll属性

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

属性 
scrollWidth / scrollHeight padding+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 / clientHeight padding+width
clientTop /clientLeft 对应 border-top-width 和 border-left-width
clientX / clientY 鼠标距离可视区域左上角的距离(用于事件,详看事件小节)

以上是关于JS-盒子模型的主要内容,如果未能解决你的问题,请参考以下文章

JS-盒子模型

关于js盒子模型的知识梳理

js盒子模型

js盒子模型常用属性

js 盒子模型(没写完)

盒子模型