首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取转换后元素的内侧宽度

获取转换后元素的内侧宽度
EN

Stack Overflow用户
提问于 2020-07-21 08:45:17
回答 2查看 34关注 0票数 1

我想要的是获得转换后的容器中元素的实际宽度。

在下面的示例中,innerWidth给出150px,而实际宽度是75px (这就是我需要的值)

如何获得实际宽度?

代码语言:javascript
复制
let w = $("#child").innerWidth()
console.info(w);
代码语言:javascript
复制
#parent {
position:relative;
transform:scale(0.5)
}

#child {
width:150px;
height:150px;
background:red;
}
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="parent">
<div id="child"></div>
</div>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-21 08:51:55

使用原生元素函数getBoundingClientRect()提取包含原始视口信息(位置、大小等)的对象。使用JQuery对象中的[0]来检索本机DOM元素。

代码语言:javascript
复制
let w = $("#child")[0].getBoundingClientRect()

console.info(w);

console.info(w.width + "x" + w.height);
代码语言:javascript
复制
#parent {
position:relative;
transform:scale(0.5)
}

#child {
width:150px;
height:150px;
background:red;
}
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="parent">
<div id="child"></div>
</div>

票数 1
EN

Stack Overflow用户

发布于 2020-07-21 08:51:45

您可以简单地使用getBoundingClientRect来获取宽度,该宽度将为75

运行下面的代码片段。

代码语言:javascript
复制
let w = $('#child')[0].getBoundingClientRect().width;
console.log(w);
代码语言:javascript
复制
#parent {
position:relative;
transform:scale(0.5)
}

#child {
width:150px;
height:150px;
background:red;
}
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="parent">
<div id="child"></div>
</div>

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

https://stackoverflow.com/questions/63005783

复制
相关文章

相似问题

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