确定元素属性是否使用%百分比单位

时间:2015-04-04 12:38:57

标签: javascript html css

我正在开发一个小框架,可以使固定的设计流畅。 因此,尽管分辨率适合,窗口会调整大小。

我在px,em和amp;之间转换计算单位取得了很好的成功。 PT。但在大多数情况下,getComputedStyle返回符合百分比的元素的px值。

如何有效地获取“由”CSS定义的百分比单位? (提前考虑我需要区分字体%和盒子模型%)。

(请不要lodash或jQuery答案,需要纯粹的JS)

1 个答案:

答案 0 :(得分:0)

如果元素(或其中一个父母)display设置为none,您可以使用javascript获取%值(如果以%分配。)fiddle < / p>

&#13;
&#13;
function getStyle(el, property) {
  var a = document.getElementById(el);
  a.style.display = "none";
  if (a.currentStyle)
    var b = a.currentStyle[property];
  else if (window.getComputedStyle)
    var b = document.defaultView.getComputedStyle(a, null)
            .getPropertyValue(property);
  a.style.display = "block";
  return b;
}
console.log(getStyle('a', 'width'));
&#13;
#a {
  width: 50%;
  height: 200px;
}
&#13;
<div id="a">jdghjfgdshf</div>
&#13;
&#13;
&#13;