如何获取元素的css width属性

时间:2016-09-22 09:48:32

标签: css dom

我希望在我的JS代码中得到应用于元素的“原始”CSS宽度属性,而不是运行时(计算)宽度。
例如。

.foo {
  width: 50% /* or 123px, or 5em, ...*/
}

在这种情况下,我想获得"50%",而不是运行时计算的px值。如果在em中给出了值,我想得到em作为结果。 window.getComputedStyle(foo, null).getPropertyValue('width'),返回一个像素值(至少在谷歌浏览器上) 实际上我需要应用于元素的CSS规则的文本值。

1 个答案:

答案 0 :(得分:0)

foo.width in pixels / parentElement.width * 100 = foo.width in % 所以在JS例如:

var width = document.getElementById('foo').offsetWidth;
var parentWidth = document.getElementById('parentOfFoo').offsetWidth;

var fooWidthPercentage = width / parentWidth * 100;
console.log(fooWidthPercentage);