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