首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >clientWidth“躺”,无法确定元素的实际宽度

clientWidth“躺”,无法确定元素的实际宽度
EN

Stack Overflow用户
提问于 2011-10-11 15:18:19
回答 2查看 893关注 0票数 0
代码语言:javascript
复制
<div style="width: 50px;">
  <div id="theElement" style="position: relative; left 25px;">textMuchLongerThan50[</div>
</div>

document.getElementById("theElement").clientWidth总是返回50,即父元素的宽度,而元素的内容显然要宽得多

(元素本身实际上有这个宽度,但我需要知道它的“自然”宽度,即其内容的宽度。)

在Chrome和IE中体验这种行为。如果阿诺伊纳知道如何确定相对定位的DIV的实际尺寸居住在另一个预先设定/有限宽度.?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-11 15:28:25

您对scrollWidth示例感兴趣

票数 3
EN

Stack Overflow用户

发布于 2011-10-11 15:33:52

这是因为它是一个块元素,它实际上是从它的父元素获取它的宽度。其内部的文本在其容器外溢出,但并不影响容器的实际宽度。

您可以通过向内部border添加<div>样式来证明这一点。

通过更改元素的显示类型,可以使元素从文本的宽度中获取其宽度。

如果将其设置为display:inline-block;,它将报告正确的宽度。

如果现在添加一个border,您会注意到它也发生了变化。

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

https://stackoverflow.com/questions/7728373

复制
相关文章

相似问题

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