搞清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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 按位异或的深入理解[通俗易懂]

    按位异或的深入理解[通俗易懂]异或运算:首先异或表示当两个数的二进制表示,进行异或运算时,当前位的两个二进制表示不同则为1相同则为0.该方法被广泛推广用来统计一个数的1的位数!参与运算的两个值,如果两个相应bit位相同,则结果为0,否则为1。即:  0^0=0,   1^0=1,   0^1=1,   1^1=0按位异或的3个特点:(1)0^0=0,0^1=1 0

    2022年6月6日
    46
  • pywin32、win32api、win32gui、win32com、win32con 都是啥?「建议收藏」

    pywin32、win32api、win32gui、win32com、win32con 都是啥?「建议收藏」pywin32、win32api、win32gui、win32com、win32con名称非常类似,特别容易混淆,今天就用600字给大家区分一下文章目录pywin32win32guiwin32conwin32apiwin32com记录时间pywin32pywin32主要的作用是供Python开发者快速调用WindowsAPI的一个模块库。该模块的另一个作用是是通过Python进行COM编程。落地场景:如果你想在Windows操作系统用Python实现自动化工作,pywin32模块经常用到

    2022年10月11日
    2
  • 40-50岁的男人喜欢什么样的女人呢?

    40-50岁的男人喜欢什么样的女人呢?悟空问答里有个热门问题:40-50岁的男人喜欢什么样的女人呢?答案多姿多彩,有理有据互补的女人有安全感的女人经济独立的女人性爱和谐的女人心态成熟的女人知书达理的女人会过生活的女人能好好聊天的女人温柔体贴的女人…………认为:无论男人是20岁、30岁、40岁、50岁、60岁、70岁、80岁、90岁、100岁还是200岁,他们都喜欢年轻漂亮的小姑娘,同意的转起。

    2022年7月25日
    7
  • C语言学习——指针精华(3)工程项目复习

    C语言学习——指针精华(3)工程项目复习编程题一、定义一个数组,从键盘输入10个整数,将10个数字中的最大值和最小值进行位置交换 (使用指针的方式)。代码如下:#include”pch.h”#include<stdio.h>void SWAP(int*p1, int*p2);int main(){ int a[10]; for (int i = 0; i < 10; i++) { scanf_…

    2022年8月18日
    5
  • Vim:如何退出Vim编辑器?

    Vim:如何退出Vim编辑器?Vim:如何退出Vim编辑器?(笑)这个问题可以说是每个初学者的必经之路咯解决办法如下!请注意非常重要的一点!在vim里面不管何时,直接输入“:”就会在最下面显示出一行,vim开始进入命令模式(而不是write模式)当初自己傻得不行,明知道命令却不知道如何使用,分享给那些一样和我不知道怎么使用命令的…:q//退出:q!//退出且不保存(:quit!的缩写):wq//保存并退出:wq!//保存并退出即使文件没有写入权限(强制保存退出):x//保存并退出(类似:w

    2022年6月5日
    68
  • 使用SQL Server 扩展事件来创建死锁的时间跟踪

    使用SQL Server 扩展事件来创建死锁的时间跟踪

    2021年11月26日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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