网页元素的三大系列

216 阅读1分钟

一、offset系列

offset 翻译过来就是偏移量, 我们使用 offset系列相关属性可以动态的得到该元素的位置(偏移)、大小等。

  • 获得元素距离带有定位父元素的位置。
  • 获得元素自身的大小(宽度高度)。
  • 注意:返回的数值都不带单位。 图片1.png

offset和style的区别

  • offset 可以得到任意样式表中的样式值
  • offset 系列获得的数值是没有单位的
  • offsetWidth 包含padding+border+width
  • offsetWidth 等属性是只读属性,只能获取不能赋值
所以,我们想要获取元素大小位置,用offset更合适
  • style 只能得到行内样式表中的样式值
  • style.width 获得的是带有单位的字符串
  • style.width 获得不包含padding和border 的值
  • style.width 是可读写属性,可以获取也可以赋值
所以,我们想要给元素更改值,则需要用style改变

client系列

client 翻译过来就是客户端,我们使用 client 系列的相关属性来获取元素可视区的相关信息。

图片3.png

scroll系列

scroll 翻译过来就是滚动的,我们使用 scroll 系列的相关属性可以动态的得到该元素的大小、滚动距离等。

window.addEventListener('scroll',fn) // 用于监听页面的滚动条事件

图片5.png

图片6.png

图片7.png

三大系列总结
  • offset系列经常用于获得元素的位置 offsetLeft offsetTop
  • client系列经常用于获得元素的大小 clientWidth clientHeight
  • scroll系列经常用于获得滚动距离 scrollTop scrollLeft
  • 页面的滚动距离通过window.pageXoffset/window.pageYoffset获得。