如何使用普通的javascript将css边距值转换为像素?

时间:2012-11-09 13:01:06

标签: javascript html css

我正在寻找最简单的跨浏览器方式将html元素css边距值转换为绝对像素。比如说保证金是“自动”。 我不能使用任何js框架。

2 个答案:

答案 0 :(得分:2)

您想使用window.getComputedStyle方法:

var style = window.getComputedStyle(element, null);
// style.marginLeft

这是一个有效的演示:http://jsfiddle.net/VxccZ/

<强>更新

对于IE 8及更早版本(不支持此方法),请使用元素的currentStyle属性:

var style = element.currentStyle;
// style.marginLeft

总结:

var getMarginLeft = function (element) {
  var style;
  if (window.getComputedStyle) { style = window.getComputedStyle(element, null); }
  else { style = element.currentStyle; }

  return style.marginLeft;
};

我并非100%确定currentStyle具有margin: auto的数字值。你必须自己尝试一下。我不能在Mac上做到这一点。

答案 1 :(得分:0)

Uise parseInt()函数。

纯JavaScript /打字稿:

var elem = document.getElementById("someElement");
var marginTopNumericValue = parseInt(elem.style.marginTop);