offset,client,scroll,style相关笔记
1.offsetTop
功能:获取元素上外缘与最近的定位父元素内壁的距离,如果没有定位父元素,则是与文档上内壁的距离
使用方法:js document.querySelector(...).offsetTop 返回数字类型 只读
注解:边缘:border以外
定位父元素:position为relative,absolute或fixed
内壁:border以内
1.1 style.top
功能:与offsetTop相同
使用方法:js document.querySelector(...).style.top
区别:
a.本身得是定位元素,否则设置了也没有意义;
b.可读写;
c.读:返回字符串,如果没有给它在行内设置top属性,一律返回空字符串,经测试,在<style></style>中写入无用,必须是行内!(操蛋!)
d.写:设置字符串,加上单位,可以是负值,style.top,style.left等均可设置,不管之前有没有写入,行内还是行外均可。
2.offsetLeft
功能:获取元素左外缘与最近的定位父元素内壁的距离,如果没有定位父元素,则是与文档左内壁的距离
使用方法:js document.querySelector(...).offsetLeft 返回数字类型 只读
注解: 不存在offsetBottom或者offsetRight
2.2 style.left(类style.top)
还有style.width,style.height...特性都和style.top一样,一样操蛋。。
3.offsetWidth
功能:获取可视width+padding+border 不包括margin和外滚动条,包括内滚动条
使用方法: js document.querySelector(...).offsetWidth 返回数字类型
什么是可视区域,实际区域?
比如a元素包含b元素,b内容超长,a元素的可视区域就是现在可见的b元素区域,实际区域就是b的全部区域,注意针对的是a元素而不是b元素!对于b元素,可视区域,实际区域是一样的!
4.offsetHeight
功能:获取可视height+padding+border 不包括margin和外滚动条,包括内滚动条
使用方法: js document.querySelector(...).offsetHeight 返回数字类型
备注:JQuery有offset方法,返回的是相当于文档的距离,返回数据为对象{left: 左偏移,top: 上偏移} 偏移值为数字类型
5.clientWidth
功能:获取可视width+ padding,不包括内滚动条
使用方法:js document.querySelector(...).clientWidth 返回数字类型
5.clientHeight
功能:获取可视width+ padding,不包括内滚动条
使用方法:js document.querySelector(...).clientHeight 返回数字类型
6.scrollLeft
功能:获取左移的距离,只能为>=0的数值,越往左越大 可读可写
使用方法:js document.querySelector(...).scrollLeft 返回数字类型
注意事项:使用时相对父元素!
7.scrollTop
功能:获取上移的距离,只能为>=0的数值,越往上越大 可读可写
使用方法:js document.querySelector(...).scrollTop 返回数字类型
注意事项:使用时相对父元素!
8.scrollWidth
功能:获取实际宽度(可超出可视区域!不会比clientWidth小),不包括内滚动条
8.scrollHeight
功能:获取实际高度(可超出可视区域!不会比clientHeigtht小),不包括内滚动条
注意事项:
由于个人习惯,使用时总是倾向于相对子元素而非包含它的父元素,实际上恰恰相反!
在横向出现滚动条的情况下(内部出现,这时不同浏览器对滚动条的处理不同数值会有差异,比如IE,clientWidth会减小,有些不变!width才是实际宽度)
所以大小关系为clientWidth<= width<=offsetWidth,scrollWidth有时最大
特别注意:
出于jquery的习惯,很多人习惯于写document.querySelector(...).width和document.querySelector(...).height
写法是大错特错的,在chrome,IE,firefox上将返回0,safari上返回undefined。
offset,client,scroll,style相关笔记的更多相关文章
- offset/client/scroll一些总结
offset/client/scroll一些总结 1.offset 首先offset共有五个值 1.offsetParent 2.offsetTop 3.offsetLeft 4.offsetWidt ...
- JavaScript中的 offset, client,scroll
在js 中我们要用到的 offset, client, scroll 在这我把自己理解的给大家分享一下. offset div.offsetTop 指div距离上方或上层控件的距离,单位像素 div. ...
- js中 offset /client /scroll总结
offset家族(只能读取,不能操作): offsetLeft:元素的边框的外边缘距离与已定位的父容器(offsetparent)的左边距离(就是子元素左边框到父元素左边框的距离). offsetTo ...
- js 元素offset,client , scroll 三大系列总结
1,element.offsetWidth : 包括 padding 和 边框 2,element.clientWidth : 包括 padding ,不包含边框 , 内容超出会溢出盒子的时候,就用s ...
- offset client scroll
offsetHeight offsetWidth返回为元素在屏幕上显示大小,不包括外边距 clientHeight clientWidht 和上面两个类似,不同的是,这两个不包括外边距高度. < ...
- bom中的offset,client,scroll
简单明了
- JS 中的offset、scroll、client总结
经常碰到offset.scroll.client这几个关键字,每次都要各种实验,这里总结一下. 两张图镇楼,随时翻阅 1. offset offset 指偏移,包括这个元素在文档中占用的所有显示宽度, ...
- python 全栈开发,Day52(关于DOM操作的相关案例,JS中的面向对象,定时器,BOM,client、offset、scroll系列)
昨日作业讲解: 京东购物车 京东购物车效果: 实现原理: 用2个盒子,就可以完整效果. 先让上面的小盒子向下移动1px,此时就出现了压盖效果.小盒子设置z-index压盖大盒子,将小盒子的下边框去掉, ...
- javascript中常用坐标属性offset、scroll、client
原文:javascript中常用坐标属性offset.scroll.client 今天在学习js的时候觉得这个问题比较容易搞混,所以自己画了一个简单的图,并且用js控制台里面输出测试了下,便于理解. ...
随机推荐
- 3DTouch--2
苹果太贱了! 3D Touch 只能在真机上面试,模拟器没办法玩! ------------- 描述有点粗燥.....有6S 在手上玩得童鞋会更加清楚,只有玩过才更加体验到. 首先 有几个要知道的手势 ...
- HTML通过事件传递参数到js一
原文链接:http://bbs.51cto.com/thread-1098421-1-1.html 目标处理函数为selectAttr(test) 1.直接传递给定参数如: onclick=" ...
- putty命令行提交本地修改文件到git
使用putty 连接 linux服务器 ,服务器账户和密码在putty 上使用git提交.使用git账户和密码 (需要升级管理员) 01 pwd 查看当前目录print work directory0 ...
- WCF、Web API、WCF REST、Web Service的区别
Difference between WCF and Web API and WCF REST and Web Service The .Net framework has a number of ...
- Android 切横竖屏时走的生命周期方法?222
第一种情况: 不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次 第二种情况: 设置Activity的androi ...
- PHP中使用CURL(四)
为了安全,我们的web服务主机往往不能上网.维护的时候,也是通过跳板机,ssh登录后去操作.有时候我们的程序需要访问外网.比如需要调用外网其他程序的某个接口.这时可以通过PHP的CURL函数的CURL ...
- .Net Core 常见问题整理
1.安装时报0x80070490 找不到元素 这里应该是vs只装了web没有装c++ 下载一个 VC_redist.x64.exe 安装就行了 https://github.com/dotnet/co ...
- java中的基本数据类型的转换
本文参考了如下两篇文章: https://my.oschina.net/joymufeng/blog/139952 http://www.cnblogs.com/lwbqqyumidi/p/37001 ...
- AIR文件操作:使用文件对象操作文件和目录 .
来源:http://blog.csdn.net/zdingxin/article/details/6635376 在AIR中可以方便的对本地文件操作,不过上次做了个项目,发现还是有不少不方便的地方,比 ...
- awk中{print $1}什么意思
给你举个例子,echo "aa bb cc" | awk -F '{print $1}' 结果就是aa,意思是把字符串按空格分割,取第一个,自己做个测试就明白了!awk是用来提取列 ...