Angular 2+如何在运行时获取div的像素宽度

时间:2018-01-31 14:06:27

标签: html css angular viewchild

div看起来像这样:

<div #container [ngStyle]=...>

如果容器包含元素,则容器是一个flexbox行;我需要知道我添加到行中的新元素是否适合而不会导致换行。

因此,我的代码将总结容器中每个元素的总大小,并将其与#container的大小进行比较。

代码是这样的:

#ViewChild('container') pillContainer: ElementRef;
let maxWidth = this.pillContainer.nativeElement.????

这就是问题所在。我不认为它是offsetWidth因为我回来的数字更像是边缘左边。没有宽度&#39;如果我查看,那就是元素:

this.pillContainer.nativeElement.attributes. xxxx

我确实找到并调用了元素(带双引号)&#34; width&#34;,但我没有看到获取该属性值的方法。

有什么想法吗? 提前致谢, 瑜珈

1 个答案:

答案 0 :(得分:0)

根据我偶然发现的文档,我实际上是错的:offsetWidth确实返回包含边框的元素的宽度,但它不包括边距。 似乎getBoundingClientRect()可能更有用,因为它显示了所应用的任何变换的效果 我认为这足以解决我的问题。 瑜珈