一文彻底弄清楚元素的高度和距离属性

元素的位置属性一直是很容易弄混淆的地方,各种高度宽度距离,每次使用的时候都需要各种查查查。今天就将相关属性做一个归类整理,通过画图以最直观的方式展现,也方便日后查阅。

client 相关属性

  • clientWidth/clientHeight

    表示一个元素的可视区域的宽高,包含元素内容以及内边距,不包含滚动部分。


    client.png

offset 相关属性

  • offsetWidth/offsetHeight

    表示一个元素的标准宽高,它包含了边框、内边距、元素内容以及滚动条。


    offset.png
  • offsetLeft/offsetTop

    表示当前元素顶部/左边距离最近父元素顶部/左边的距离。


    scrolltop.png

scroll 相关属性

  • scrollWidth/scrollHeight

    表示一个元素内容区域的实际大小,包括不在页面中的可滚动部分(内容和内边距)。


    scroll.png
  • scrollTop/scrollBottom

    表示在有滚动条的时,元素可视区域顶部距离元素顶部的距离,也就是已经滚动了多少距离。


    scrolltop.png

拓展应用 - 滚动加载

示例:


scrollMore.png

代码:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>滚动加载</title>
    <style> .parent {
        width: 300px;
        height: 200px;
        margin: 100px auto;
        border: 1px solid #ccc;
        overflow-y: scroll;
        word-break: break-all;
      }</style>
  </head>
  <body>
    <div class="parent" id="target">
      <div class="child">
        gagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagdsagdagadgcontentgagdaggdgdsagds
      </div>
    </div>
    <script> let target = document.getElementById("target");
      target.addEventListener("scroll", function () {
        const clientHeight = target.clientHeight;
        const scrollTop = target.scrollTop;
        const scrollHeight = target.scrollHeight;
        if (clientHeight + scrollTop >= scrollHeight) {
          // 到底部了
          console.log("到底部了");
        }
      });</script>
  </body>
</html>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容