主要介绍getBoundingClientRect的基本属性,以及具体的使用场景和一些需要注意的问题。

getBoundingClientRect
Element.getBoundingClientRect()
含义:
方法返回元素的大小及其相对于视口的位置。

值:
返回值是一个 DOMRect 对象,这个对象是由该元素的 getClientRects() 方法返回的一组矩形的集合, 即:是与该元素相关的CSS 边框集合。

属性值:

top: 元素上边距离页面上边的距离
left: 元素右边距离页面左边的距离
right: 元素右边距离页面左边的距离
bottom: 元素下边距离页面上边的距离
width: 元素宽度
height: 元素高度

注意:
如果所有的元素边框都是空边框,那么这个矩形给该元素返回的 width、height 值为0,left、top值为第一个css盒子(按内容顺序)的top-left值。

当计算边界矩形时,会考虑视口区域(或其他可滚动元素)内的滚动操作,也就是说,当滚动位置发生了改变,top和left属性值就会随之立即发生变化(因此,它们的值是相对于视口的,而不是绝对的)。如果你需要获得相对于整个网页左上角定位的属性值,那么只要给top、left属性值加上当前的滚动位置(通过window.scrollX和window.scrollY),这样就可以获取与当前的滚动位置无关的值。

自己封装的vue组件在div的上下左右拉伸中用到, 需要的可以私信点赞给源码哦

震惊!!!一眼就能看懂的getBoundingClientRect用法!!!相关推荐

  1. java循环1000000000_Java11比Java8快多少,不是测试人员一眼也能看懂

    原标题:Java11比Java8快多少,不是测试人员一眼也能看懂 简单粗暴: 10亿次相加,循环10次,每次执行时间记录结果如下: 硬件环境: IDE:IntelliJ IDEA 2019.1 x64 ...

  2. android培训技能!一眼就能看懂的Android自学手册,成功入职字节跳动

    背景 曾经有人问我,为什么要下班了不找点乐子,还花这么多时间去写一份资料.你是不是傻! 我无言以对! 但是不得不说,这份笔记确实倾注了我很多心血. 至于,我为什么要做这份资料,为什么又要写这篇文章!是 ...

  3. 一眼就能看懂的cin.ignore()函数详解

    看了很多网上的cin.ignore()函数的解析,发现万片一律,不知道是你抄我的还是我抄你的,还都没有注明转载,而且纯粹是教科书的死搬硬套. 希望我的这篇博客可以帮到大家. 首先,他的函数原型是这样的 ...

  4. 一眼就能看懂的Android自学手册,赶紧收藏!

    一.前言 关于开源框架这块,其实主要是针对自己项目中使用到的框架进行准备.从使用,到使用场景.优缺点以及源码实现都需要逐一掌握理解.这一部分是向面试官展示自己水平与能力的一个重要部分,所以要着重准备. ...

  5. 一眼就能看懂的Java自学手册,终局之战

    珍藏版(1)--Mybatis入门 1.什么是MyBatis 2.为什么我们要用Mybatis? 3.Mybatis快速入门 3.1 导入开发包 3.2准备测试工作 3.3 创建mybatis配置文件 ...

  6. 阿里P7大牛手把手教你!一眼就能看懂的Android自学手册,真香!

    前言 曾听过很多人说Android学习很简单,做个App就上手了,工作机会多,毕业后也比较容易找工作.这种观点可能是很多Android开发者最开始入行的原因之一. 在工作初期,工作主要是按照业务需求实 ...

  7. 家装强电弱电布线图_家装水电施工标准(图文版),装修小白一眼也能看懂。...

    如果把家比喻成一个人,房子是骨骼,那么水电路则相当于人体的血管和动脉,正因为他们的存在,才赋予家鲜活的生命.由此,水电施工自然也成为家装工程的重中之重. 水电走线原则 ※ 水电弹线放样施工,使用切割机 ...

  8. 测试比java_Java11比Java8快多少,不是测试人员一眼也能看懂

    简单粗暴: 10亿次相加,循环10次,每次执行时间记录结果如下: 硬件环境: IDE:IntelliJ IDEA 2019.1 x64 JDK版本: Windows150.94 MBjdk-11.0. ...

  9. 一眼就能看懂的Android自学手册,深度好文

    前言 这些题目是网友去美团等一线互联网公司面试被问到的题目.笔者从自身面试经历.各大网络社交技术平台搜集整理而成,熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率. 主要分为以下几部分: (1 ...

最新文章

  1. canvas-应用大全
  2. c++ #define
  3. malloc 不能返回动态内存
  4. LeetCode 1263. 推箱子(BFS+DFS / 自定义哈希set)
  5. AD域控exchange邮箱(四)——获取AD域控中计算机有哪些账号登录过
  6. L325 如何睡觉
  7. 跨平台日志清理工具 Log-Cutter v2.0.1 RC-1 发布
  8. 矩阵求导及其链式法则
  9. 原码、反码、补码以及补码是怎么来的
  10. 学计算机考公务员可以做什么的,学计算机的考公务员将来干什么啊
  11. 概率初步入门(含贝叶斯公式,全概率公式)
  12. 集成preempt-rt patch后发生panic的调试过程
  13. position的粘性定位
  14. 2022-2028年全球与中国汽车自动变速箱控制单元产业市场前瞻与投资战略规划分析
  15. 在网上开店有哪些好处?最多可以开几个?
  16. 端午假期你是如何过的?
  17. AVX指令集函数列表中文翻译
  18. KVM 介绍 虚拟化简史
  19. 三星android升级名单,三星One UI 3.1升级名单曝光:含Galaxy S10系列 另更新Android 11系统升级计划...
  20. 新零售时代的新营销,OTT何故成为香饽饽?

热门文章

  1. 为了健康,别做这19件事!
  2. linux连接本机mysql数据库,Linux中MySQL连接本机数据库客户端
  3. centos添加明细路由的方法
  4. HTTP和HTTPS免费测试接口
  5. Android O 的Doze模式白名单路径
  6. 计算机的小知识图片,实用电脑小技巧:你可能不知道的图片处理小知识
  7. 对removeAttr()和splice()的使用。
  8. 抽样分布:经常听到的卡方分布、t分布等的含义是啥?
  9. javaweb游戏代练网站设计与实现
  10. CART 分类和回归树