我正在寻找将 html 元素 css 边距值转换为绝对像素的最简单和跨浏览器的方法。例如说边距是“自动”。我不能使用任何 js 框架。
问问题
2161 次
2 回答
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 上自己做到这一点。
于 2012-11-09T13:06:19.040 回答
0
使用parseInt()
功能。
纯 JavaScript / 打字稿:
var elem = document.getElementById("someElement");
var marginTopNumericValue = parseInt(elem.style.marginTop);
于 2018-08-24T10:22:33.273 回答