元素尺寸与位置

116 阅读1分钟

元素尺寸

偏移尺寸

  • offsetWidth: content + padding + border + 垂直滚动条的宽度
  • offsetHeight: content + padding + border + 水平滚动条的宽度

客户端尺寸

  • clientWidth: content + padding
  • clientHeight: content + padding

滚动尺寸

  • scrollHeight,所有内容的总高度
  • scrollWidth,所有内容的总宽度

浏览器窗口尺寸

  • window.innerHeight/innerWidth,网页内容的宽高
  • window.outerHeight/outerHeight,整个浏览器窗口的宽高

元素位置

偏移位置

  • offsetLeft/offsetTop,元素和父元素的距离

滚动距离

  • scrollLeft/scrollHeight,元素左/上不可见的距离,可写,可以通过修改scrollTop修改滚动距离

客户端坐标

  • 鼠标事件中,event.target上的属性
  • clientX/clientY,指鼠标离浏览器边界的距离

页面坐标

  • 鼠标事件中,event.target上的属性
  • pageX/pageY,相当于pageX = clientX + document.body.scrollLeft,在页面没有滚动条时,二者相等

屏幕坐标

  • 鼠标事件中,event.target上的属性
  • screenX/screenY,指鼠标离屏幕的距离

getBoundingClientRect

  • 返回一个 DOMRect 对象,包含 6 个属性:left、top、right、bottom、height 和 width
  • width/height = content + padding + border
  • 其他距离都是相对于浏览器视口左上角算的

参考

《JavaScript高级程序设计第四版》