【夯实基础 】 js获取的clientHeight、offsetHeight和scrollHeight的区别
clientHeight、offsetHeight和scrollHeight的区别
clientHeight = content + padding, 不加溢出内容的高度 ,返回整数
offsetHeight = content + padding+border, 不加溢出内容的高度 ,返回整数
scrollHeight = content + padding+溢出内容的高度,不加border,返回整数
MDN建议获取精确的通过 element.getBoundingClientRect() 函数
亲测如下:
示例代码:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>body {margin: 0}.container {height: 200px;overflow: auto;background: pink;border: 100px solid #ccc;padding: 100px;box-sizing: content-box;}.content {height: 300px;background: rebeccapurple;box-sizing: content-box;color: #fff;display: flex;justify-content: center;align-items: center;;}</style>
</head>
<body><div class='container'><div class="content">子容器:300px</div></div><script>var testTarget = document.getElementsByClassName('container')[0];function log(element,type){console.log(type,element[type])}log(testTarget,'clientHeight');log(testTarget,'offsetHeight');log(testTarget,'scrollHeight');</script>
</body>
</html>
网上看了很多总不明白,自己亲自动手很清晰了,记录自己的探索过程,希望在前端道路越走越远,加油!
参考:
MDN | clientHeight
w3c规范 | clientHeight
【夯实基础 】 js获取的clientHeight、offsetHeight和scrollHeight的区别相关推荐
- 夯实基础js - 语句篇
下面这些值将被计算出 false (also known as Falsy values): false undefined null 0 NaN 空字符串 ("") 当传递给条件 ...
- 夯实基础 js数据类型
由于内存限制数值不可能 无穷大 最小值在Number.MIN_VALUE里面 最大值在 Number.MAX_VALUE里面 Infinity无穷 判断一个数在不在这个范围内 可以使用isFinite ...
- 彻底搞懂clientHeight、offsetHeight、scrollHeight的区别
我们开发web代码的时候,经常回遇到各种高度的计算. 因为总是忘记几者之间得区别,每次都要现查,这次通过这篇文章彻底搞明白这几个长度的区别. 1.定义说明 条目 含义 图示 clientHeight ...
- JS获取对象属性的各种方式和区别(自身/原型属性、可枚举/不可枚举)
对象的属性有自身属性和原型属性之分,自身属性是对象自己的属性,原型属性是存在于原型链上的属性. 可以用Object.prototype.hasOwnProperty()判断是自身属性还是原型属性.(i ...
- offsetHeight, clientHeight与scrollHeight的区别
[size=xx-large][color=indigo]offsetHeight, clientHeight与scrollHeight的区别[/color][/size] [size=large][ ...
- html 获得div的高度,如何用js获取div不确定的自适应高度(currentStyle与offsetHeight)...
设计网页时,一些元素(如div)因显示的内容多少事先不确定,所以不能固定高度,也就是让它根据内容的多少自动调整高度,即自适应高度. 对于div元素不确定的自适应高度,如何用js获取当前高度呢?一般有两 ...
- js基础总结——js 获取元素节点、js 绑定onclick事件、js 获取属性 修改属性值、js 获取子元素、js 改变css样式
参考书籍:<JavaScript DOM编程艺术 第2版> 本博客代码的测试页面是:https://www.layui.com/ js dom操作 js 获取元素节点 一份document ...
- JS获取当前对象大小以及屏幕分辨率等...
<!DOCTYPE html> <html> <head><meta charset="utf-8"/><meta name= ...
- js获取网页的各种高度
原文:js获取网页的各种高度 网页可见区域宽: document.body.clientWidth 网页可见区域高: document.body.clientHeight 网页可见区域宽: docum ...
最新文章
- template模板中插入自定义参数
- opencv 运动目标检测
- 虚函数(virtual)可以是内联函数(inline)吗?
- 【若依(ruoyi)】验证码
- 手写自己的MyBatis框架-核心对象
- 【许晓笛】 EOS 智能合约案例解析(2)
- tp 数据库查询排序_怎么进行数据库分库分表?
- kali linux中文乱码解决,kali-google-chrome中文乱码问题解决方法
- 今日恐慌与贪婪指数为73 贪婪程度有所上升
- python之函数用法basestring
- 跃迁 成为高手的技术
- Pr教程之打字机效果
- vue引入,两种组件库vant,vue-ydui变量冲突问题
- 2022南阳理工计科ACM计科TC招新热身赛题解
- C语言枚举变量定义,请问C语言枚举类型是什么意思
- python爬微信好友_用Python爬了自己的微信好友,原来他们是这样的人……-Go语言中文社区...
- ABAP ALV中自定义搜索帮助
- 无线传感网的MAC层协议
- LeetCode | 0017. Letter Combinations of a Phone Number电话号码的字母组合【Python】
- git 文件夹不显示红色图标和绿色图标的问题
热门文章
- import win32api出错
- 基于JAVA+SpringBoot+Vue+ElementUI中学化学实验室耗材管理系统
- 华为p40pro怎么没有计算机,数码教程资讯:华为p40pro支持PC模式吗
- 文件服务器搭建 xp,xp搭建文件服务器
- wintogo论坛_新一代垃圾佬的大辅助装-WIN TO GO
- Mybatis3源码全解析
- 汽车电控转向助力技术(EPS)
- c语言学生成绩管理系统设计分析,参阅:C语言学生成绩管理系统设计
- 2023年蔚来新能源汽车核心部件解密
- SEI、Envestnet、AssetMark2019年度观察 ——美国TAMP行业代表性公司对比分析