搞清clientHeight、offsetHeight、scrollHeight、offsetTop、scrollTop

搞清clientHeight、offsetHeight、scrollHeight、offsetTop、scrollTop转载自:https://www.imooc.com/article/17571网页可见区域高:document.body.clientHeight网页正文全文高:document.body.scrollHeight网页可见区域高(包括边线的高):document.body.offsetHeight网页被卷去的高:document.body.scrollTop屏幕分辨率高:window.screen…

大家好,又见面了,我是你们的朋友全栈君。

网页可见区域高:document.body.clientHeight

网页正文全文高:document.body.scrollHeight
网页可见区域高(包括边线的高):document.body.offsetHeight
网页被卷去的高:document.body.scrollTop

屏幕分辨率高:window.screen.height

 

每个HTML元素都具有clientHeight offsetHeight scrollHeight offsetTop scrollTop 这5个和元素高度、滚动、位置相关的属性,单凭单词很难搞清楚分别代表什么意思之间有什么区别。通过阅读它们的文档总结出规律如下:
clientHeight和offsetHeight属性和元素的滚动、位置没有关系它代表元素的高度,其中:
clientHeight:包括padding但不包括border、水平滚动条、margin的元素的高度。对于inline的元素这个属性一直是0,单位px,只读元素。
搞清clientHeight、offsetHeight、scrollHeight、offsetTop、scrollTop
offsetHeight:包括padding、border、水平滚动条,但不包括margin的元素的高度。对于inline的元素这个属性一直是0,单位px,只读元素。
搞清clientHeight、offsetHeight、scrollHeight、offsetTop、scrollTop
接下来讨论出现有滚动条时的情况:
当本元素的子元素比本元素高且overflow=scroll时,本元素会scroll,这时:
scrollHeight: 因为子元素比父元素高,父元素不想被子元素撑的一样高就显示出了滚动条,在滚动的过程中本元素有部分被隐藏了,scrollHeight代表包括当前不可见部分的元素的高度。而可见部分的高度其实就是clientHeight,也就是scrollHeight>=clientHeight恒成立。在有滚动条时讨论scrollHeight才有意义,在没有滚动条时scrollHeight==clientHeight恒成立。单位px,只读元素。
搞清clientHeight、offsetHeight、scrollHeight、offsetTop、scrollTop
scrollTop: 代表在有滚动条时,滚动条向下滚动的距离也就是元素顶部被遮住部分的高度。在没有滚动条时scrollTop==0恒成立。单位px,可读可设置。
offsetTop: 当前元素顶部距离最近父元素顶部的距离,和有没有滚动条没有关系。单位px,只读元素。

搞清clientHeight、offsetHeight、scrollHeight、offsetTop、scrollTop

offsetTop: 当前元素顶部距离最近父元素顶部的距离,和有没有滚动条没有关系。单位px,只读元素。

搞清clientHeight、offsetHeight、scrollHeight、offsetTop、scrollTop

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/163717.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 数据库面试常问的一些基本概念

    数据库面试常问的一些基本概念

    2020年11月12日
  • 记tomcat部署war包的配置

    记tomcat部署war包的配置记tomcat部署war包的配置将war包放入Tomcat中将war包放到Tomcat目录下的webapps文件夹中;(大多数人的选择)如果放在此文件内,可能会导致项目路径出现问题。可以在Tomcat目录下自定义一个文件夹这里是自定义的myapps文件夹。定义war包路径打开conf/server.xml进行修改找到<host>部分,在其中加入代码<…

  • 新手小白入门编程第1讲 计算机基础知识 JAVA基础知识

    新手小白入门编程第1讲 计算机基础知识 JAVA基础知识1计算机基础知识1.1计算机计算机(Computer)全称:电子计算机,俗称电脑。是一种能够按照程序运行,自动、高速处理数据的现代化智能电子设备。常见的形式有台式计算机、笔记本计算机。按照规模分为微型机、小型机、大型机、巨型机(超级计算机)等。计算机发明者约翰•冯•诺依曼。计算机是20世纪最先进的科学技术发明之一,对人类的生产活动和社会活动产生了极其重要的影响,并以强大的生命力飞速发展。它的应用领域从最初的军事科研应用扩展到社会的各个领域,已形成了规模巨大的计算机产业,带动了全球范围的技术进步,由此

  • matlab画点图如何设置点的大小颜色_matlab如何根据点绘制曲线图

    matlab画点图如何设置点的大小颜色_matlab如何根据点绘制曲线图线型 说明 标记符 说明 颜色 说明 – 实线(默认) + 加号符 r 红色 — 双划线 …

  • LoRaWAN学习心得

    LoRaWAN学习心得关于LoRaWAN学习的小小心得

    2022年10月20日
  • Centos7 安装nginx1.16.0[通俗易懂]

    Centos7 安装nginx1.16.0[通俗易懂]一、环境配置nginx使用C语言进行开发,建议在linux环境下运行,本文只介绍linux下的安装1、gcc安装安装nginx需要先将官网上的源码下载下来进行编译,编译依赖gcc环境,如果系统中未装有gcc,则需要进行安装。执行如下命令安装gcc环境:yuminstallgcc-c++2、pcrepcre-devel安装PCRE(PerlCompatibleRegu…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号