三大家族(offset、scroll、client)
offset、scroll、client三大家族
offset家族
offsetWidth 与 offsetHeight
- offset 偏移
- 用于获取元素自身的位置和大小
- offsetWidth和offsetHeight获取对象自身的的宽度/高度
offsetWidth = width + border + padding; offsetHeight = height + border + padding offsetHeight 与 style.height 的区别
得到的结果值不同
offsetHeight:获取元素的真实高度
- style.height:只能获取行内样式
style="height:100px;",如果样式写到了其他地方(如style代码块),甚至根本就没写,便无法获取
- 获得的值的类型不同:
offsetHeight:数值类型
- style.height:带单位的字符串
- 使用方式的不同
offseHeight:只读属性, 只能获取属性值, 不能设置元素的高度
style.height:能获取、设置行内的height属性值
offsetParent(获取元素对象)
- offsetParent: 获取最近的定位父元素 (元素自身定位参照的父元素)
- 注意点
- 如果元素自身是固定定位(fixed),则定位父级是null
- 如果元素自身是非固定定位,并且所有的父元素都没有定位,那么他的定位父级是body
- body的定位父级是null
offsetLeft 与 offsetTop
offsetLeft: 获取自己左外边框与offsetParent的左内边框的距离
offsetTop: 获取自己上外边框与offsetParent的上内边框的距离

scroll家族
scrollWidth 和 scrollHeight
- scroll 滚动
- scrollWidth 用与获取元素中内容的宽度,
- scrollHeight 用于获取元素中内容的高度
- 注意
- 当元素中的内容宽度和高度小于元素的宽高时(即内容没有溢出元素时), 获取到的scrollWidth = width | scrollHeight = height
- 当元素中的内容溢出时, scrollWidth = 内容宽 , scrollHeight = 内容高
scrollLeft 和 scrollTop
scrollTop 当元素自身的onscroll事件发生时,元素向上卷曲出去的距离
scrollLeft:当元素自身的onscroll事件发生时,元素向左卷曲出去的距离

client家族
clientWidth 和 clientHeight
- clientWidth 元素可视区域的宽度 ,边框内部的宽度,不带边框
- clientHeight 元素可视区域的高度 ,边框内部的高度,不带边框
clientLeft 和 clientTop
- clientLeft 元素左边边框的宽度(如果左边有滚动条会包含滚动条的宽度)
- clientTop 元素顶部边框的高度 (如果顶部有滚动条会包含滚动条的高度)
三大家族(offset、scroll、client)的更多相关文章
- js三大家族offset,scroll,cliennt的区别
offset偏移(返回的是number类型) offsetLeft:返回盒子距离左边的距离 offsetTop:返回盒子距离顶部的距离 offsetHeight:返回盒子的高度,包括border,pa ...
- 三大家族,offset,scroll,client
1.client 1.1主要成员 1.clientWidth 获取网页可视区域宽度(两种用法) clientHeight 获取网页可视区域高度 (两张用法) 盒子调用: 指盒子本省 浏览器调用: ...
- JavaScript 特效之四大家族(offset/scroll/client/event)
三大系列:offset.scroll.client 事件对象:event(事件被触动时,鼠标和键盘的状态)(通过属性控制) 三大系列都是以DOM元素节点的属性形式存在的. 类比访问关系,也是以 ...
- offset / scroll / client Left / Top
1.offsetHeight / Width (只读) offsetHeight:表示该元素在垂直方向占用的空间大小,包含元素的高度+上边框高度+下边框高度 offsetWidth:表示该元素在水平方 ...
- offset,scroll,client系列
offsetHeight: 元素高,height+border+paddingoffsetWidth: 元素宽,width+border+paddingoffsetTop: 距离offsetParen ...
- 第52天:offset家族、scroll家族和client家族的区别
一.offset家族 1.offsetWidth offsetHeight offsetLeft offsetTop offsetParent共同组成了offset家族,用来获取元素尺寸. offse ...
- JS-特效 ~ 04. client对象、网页可视区域的宽高、client / offset / scroll 三大家族的区别、冒泡事件、事件委托、获取内嵌式和外链式属性getStyle(ele,attr) ;、缓动动画封装
知识点: 模拟滚动条的解除事件问题 : event内置对象,包含 了大量事件: page兼容性: pageX || clientX + scool().top : if (true === a)tr ...
- offset、client、scroll开头的属性归纳总结
HTML元素有几个offset.client.scroll开头的属性,总是让人摸不着头脑.在书中看到记下来,分享给需要的小伙伴.主要是以下几个属性: 第一组:offsetWidth,offsetHei ...
- client三大家族区别(三大家族总结)
目录 目录 2 今日内容: 4 第1章 第三大家族client 4 1.1 主要成员 4 1.2 三大家族区别(三大家族总结) 5 1.2.1 Width和height 5 1.2.2 top和lef ...
随机推荐
- POJ-3494 Largest Submatrix of All 1’s (单调栈)
Largest Submatrix of All 1’s Time Limit: 5000MS Memory Limit: 131072K Total Submissions: 8551 Ac ...
- CTF--web
https://adworld.xctf.org.cn/task/task_list?type=web&number=3&grade=0 1.view source 查看源代码 1.鼠 ...
- python计算斐波那契数列
斐波那契数列就是黄金分割数列 第一项加第二项等于第三项,以此类推 第二项加第三项等于第四项 代码如下 这一段代码实现fib(n)函数返回第n项,PrintFN(m,n,i)函数实现输出第i项斐波那契数 ...
- 使用原生 python 造轮子搭建博客
这篇用来 记录一个 从零开始的 博客搭建,希望坚持下去,因为python 开发效率令人发指,所以会原生从零写 ORM ,Web 框架 前提是打好 异步 io 的基础, 使用异步,有一点要谨记,一旦开始 ...
- react动态路由以及获取动态路由
业务中会遇到点击列表跳转到详情页, 1.在index.js修改我们的跟组件 新建router2的文件 import React from 'react' import { HashRouter as ...
- Vue + Element 配置报错
{ test: /\.(eot|svg|ttf|woff|woff2)$/, loader: 'file-loader'}
- 学习itop4412开发板有哪些资料可学习?能否学会
1.光盘资料 下面简单的做一下了解,在需要使用这些资料的时候,会针对性的做详细介绍. 将文件以及文件夹按照“名称+递增”的方式排列,如下: 01_PCB_SCH_DATASHEET-- -----开发 ...
- docker-compose部署ELK
本章基于 https://www.cnblogs.com/lirunzhou/p/10550675.html 在此基础上将ELK系统docker-compose.yml化. 其docker-compo ...
- SSM增删改查
闲着无聊配置一遍SSM以及添加功能增删改查,如下图,其中坎坷也挺多!!! 1.工程如下图.(请忽略红叉,没有错误) 2.首先配置pom.xml文件. <project xmlns="h ...
- 四, 判断语句; 循环; 使用dict和set
1) 练习 小明身高1.75,体重80.5kg.请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数: 低于18.5:过轻 18.5-25:正常 25-28:过重 28- ...