首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对getBoundingClientRect感到困惑

对getBoundingClientRect感到困惑
EN

Stack Overflow用户
提问于 2022-03-16 09:21:30
回答 1查看 101关注 0票数 1

对Javascript中的getBoundingClientRect()函数感到困惑。

根据官方文件,如果const rect = getBoundingClientRect();,那么我们

代码语言:javascript
复制
rect.width = rect.right - rect.left;

rect.height = rect.bottom - rect.top;

这是否意味着左、右位置是左、全、右排他性的,即[左,右]?否则它应该是

代码语言:javascript
复制
rect.height = rect.bottom - rect.top + 1;

请看下面的5x5地图。在[inclusive, inclusive]模式下,所有1的边界应该是left=2, right=4, top=3, bottom=4,并且我们有

代码语言:javascript
复制
width=right-left+1=4-2+1
height=bottom-top+1=4-3+1

5x5网格

代码语言:javascript
复制
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 1 1 1
0 0 1 1 1

一个更明确的问题:

rect.left是什么意思?这是否意味着客户端容器或i第四像素的左距离?那rect.right

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-16 11:20:27

以这种方式考虑:

如果灰色方块表示屏幕空间,则红色方块有边框:

代码语言:javascript
复制
{
  x: 1, y: 1,
  width: 3, height: 3
}

这意味着它有left=1right=4,因此,right-left=width

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71494451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档