【前言】

简单总结下JS常见的宽高获取方法,例如clientHeight、scrollHeight、offsetHeight等。

先简单看个案例demo,效果图如下:

【主体】

一、宽高

(1)clientHeight、clientWidth→元素宽高(height+padding,不包含边框),可以理解为元素可视区域高度

(2)offsetHeight、offectWidth→元素宽高(height+padding+border,包含边框),可以理解为元素的可视高度

(3)scrollHeight、scrollWidth→元素宽高(内容的实际高度+上下padding<如果没有限制div的height,即height是自适应的,那么scrollHeight=clientHeight>)

(4)scrollHeight与offsetHeight的区别?

offsetHeight即是自身的高度,scrollHeight是自身的高度+隐藏元素的高度(即是内层元素的offsetHeight)

二、滚动距离

(1) offsetTop:为容器相对于document的top的绝对偏移---→等于top+margin-top

同理offsetLeft:容器相对于document的left的绝对偏移---→等于left+margin-left

(2)clientTop: 容器内部相对于容器本身的top偏移,实际就是border-width

(3)scrollTop: Y轴的滚动条没有,或滚到最上时是0;Y轴的滚动条滚到最下时是 scrollHeight-clientHeight。滚动时通常只能scrollTop,当scrollTop为 0 到 scrollHeight-clientHeight  是正常的滚动距离,否则就是滚动过头了(手机上的阻尼效果)。

.

浅谈JS各种宽高(clientHeight、scrollHeight、offsetHeight等)相关推荐

  1. 浅谈mysql主从复制的高可用解决方案

    1.熟悉几个组件(部分摘自网络) 1.1.drbd      -- DRBD(Distributed Replicated Block Device),DRBD号称是 "网络 RAID&qu ...

  2. 浅谈 js 数字格式类型

    原文:浅谈 js 数字格式类型 很多人也许只知道 123,123.456,0xff 之类的数字格式. 其实 js 格式还有很多数字格式类型,比如 1., .1 这样的,也有 .1e2 这样的. 可能有 ...

  3. php字面量,浅谈js之字面量、对象字面量的访问、关键字in的用法

    一:字面量含义 字面量表示如何表达这个值,一般除去表达式,给变量赋值时,等号右边都可以认为是字面量. 字面量分为字符串字面量(string literal ).数组字面量(array literal) ...

  4. 浅谈JS中常见的问题(三)

    往期文章目录 浅谈JS中常见的问题(一) 浅谈JS中常见的问题(二) JS知识总结 往期文章目录 前言 11. 同步和异步的区别 12. JS 判断变量类型的几种方法 13. 如何阻止事件冒泡与默认事 ...

  5. 这该死的高度,height,clientHeight,scrollHeight,offsetHeight

    引言: 虽然有时候界面的设置不是我们这些后台代码人员的工作,但是有时候却难以理解控件生成时的一些怪事,比方在学习webabcd的扩张GridView中固定列时,你或许已经被其中的height,clie ...

  6. clientHeight , scrollHeight , offsetHeight之间的区别及兼容方案

    clientHeight , scrollHeight , offsetHeight相信每个人都用过,可是每次用都要查一下到底哪个是文档大小哪个是视口大小,还有头疼的兼容问题. 先来官方的了解一下这三 ...

  7. 浅谈千万级高性能高并发网站架构

    浅谈千万级PV/IP规模高性能高并发网站架构 高并发访问的核心原则其实就一句话"把所有的用户访问请求都尽量往前推". 如果把来访用户比作来犯的"敌人",我们一定 ...

  8. 原生js获取宽高与jquery获取宽高的方法的关系

    说明:1.因为获取高度的情况跟获取宽度的情况一样,所以以下只说获取宽度的情况.  2.以下所说的所有方法与属性所返回的值都是不带单位的.  3.为了方便说明,以下情况采用缩写表示:  obj -> ...

  9. 浅谈js原型和原型链

    一.简述 对于javascript 对象(函数) 原型和原型链的理解,其实不那么难,简单来说,需要理解什么是原型,怎么访问原型,什么是原型链,怎么通过原型链去访问原型,就可以大概理清楚原型和原型链的基 ...

  10. js改变宽高字体大小透明度多物体模块运动

    改变宽高字体大小透明度 #div1 { width: 100px; height: 100px; background: red; margin: 10px; filter:alpha(opactiy ...

最新文章

  1. 丘成桐拉来又一菲尔茨奖得主全职加盟清华!年轻数学家40岁获奖,或带领军班、英才班本科生...
  2. 曙光服务器2008系统,在中科曙光I620-G20服務器上安裝Windows 2008 R2 系統步驟
  3. INTERSPEECH 2020 AutoSpeech论文征集挑战赛正式启动
  4. 【Linux笔记】LED驱动程序
  5. 第十五篇 Python之文件处理
  6. 那位全心投入本地生活的首席科学家!
  7. LeetCode 67. Add Binary
  8. STL源码剖析-vector
  9. opencv图像分析与处理(7)- 频率域滤波的基础公式、步骤与C++实现
  10. 几款电子教室软件推荐
  11. Vue解决无数据图片闪现的问题
  12. 对计算机硬盘格式化,电脑硬盘格式化和快速格式化的区别
  13. 树莓派的Python成功解决TypeError: Image data cannot be converted to float
  14. Linux系统备份与还原-Clonezilla
  15. python報錯: OSError: Unable to locate Ghostscript on paths
  16. 音视频开发四:FFmpeg音视频处理的基本命令使用
  17. bilibili 视频网址
  18. 智能语义搜索引擎:一站式检索服务、打通数据壁垒、充分挖掘数据价值 | 百万人学AI评选
  19. C++STL之stack栈容器
  20. xamarin android网络请求总结

热门文章

  1. 中控考勤机官方开发包java,zkteco iface702 中控考勤机java开发步骤一---连接考勤机...
  2. Proteus ISIS仿真软件中英文元件名称对照
  3. 模糊控制算法实例解析(含代码)
  4. 海洋cms简洁免费下载视频网站正版原创自适应挖片模板
  5. 2019美赛参赛获奖经验
  6. 虚拟机管理需要哪些功能,以及虚拟机管理常见问题和解决方案
  7. 炫酷报表制作工具推荐:RDP报表工具
  8. 硕士学位论文(2022年) Latex模板 模板修改记录 总结
  9. Json工具 将对象转换为json格式字符串
  10. IDEA报错解决:Cannot resolve com.oracle:ojdbc7:12.1.0.2或‘com.oracle:ojdbc7:12.1.0.2‘ not found