你真的了解getBoundingClientRect()?

1.object.getBoundingClientRect()

用于获取某个元素相对于视窗的位置集合。集合中有top, right, bottom, left等属性。没有参数,这个属性在ie5就开始支持。

2.返回值

object.getBoundingClientRect().top:元素上边到视窗上边的距离
object.getBoundingClientRect().right:元素右边到视窗左边的距离
object.getBoundingClientRect().bottom:元素下边到视窗上边的距离
object.getBoundingClientRect().left:元素左边到视窗左边的距离
object.getBoundingClientRect().width:元素宽度
object.getBoundingClientRect().height:元素高度
object.getBoundingClientRect().x:用于left
object.getBoundingClientRect().y:用于top

效果图
3.浏览器兼容

①ie5以上都能支持,ie9以上支持width/height属性
②但是IE6,7的left、top会少2px,且没有width、height属性。
③width和height:ie9以上支持width/height属性。
兼容ie6~ie8的width/height的写法:

var objWidth = rectObject.right - rectObject.left,
    objHeight = rectObject.bottom - rectObject.top;

原文作者:匆匆那年_海,博客主页:https://www.jianshu.com/u/910c0667c515
95后前端汉子,爱编程、优秀、聪明、理性、沉稳、智慧的程序猿一枚。

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 各种纯css图标 CSS3可以实现很多漂亮的图形,我收集了32种图形,在下面列出。直接用CSS3画出这些图形,要比...
    剑残阅读 10,041评论 0赞 8
  • getBoundingClientRect用于获取某个元素相对于视窗的位置集合。集合中有top, right, b...
    尹莫一阅读 1,301评论 0赞 0
  • 前言 我入职第二家公司接到的第一个需求就是修复之前外包做的滚动吸顶效果。我当时很纳闷为何一个滚动吸顶会有 bug,...
    什么都不会的程序员阅读 2,071评论 0赞 6
  • 学习CSS的最佳网站没有之一 http://www.w3school.com.cn/tags/index.asp ...
    Amyyy_阅读 1,238评论 0赞 1
  • 总觉得到了过年才是年终,以前不喜欢总结过去,慢慢还是觉得古人说得好:温故而知新。从2012年2月8日到2013年1...
    千山万水阅读 338评论 0赞 1

友情链接更多精彩内容