有没有办法编写一个javascript函数,给定任何HTML元素告诉我它的'margin-left'以像素为单位。 (我想无论算法如何,都可以重新发布以获得边距,顶部和底部)
一个解决方案就是:
function(htmlElement) {
return htmlElement.style.marginLeft;
}
但只有在该html元素上应用marginLeft时才有效。
如果未明确设置,我该如何计算? 如果没有明确设置像素?
答案 0 :(得分:4)
您可以使用window.getComputedStyle()
。
window.getComputedStyle(elem, null).getPropertyValue("margin-left");
因此elem.style.marginLeft
获取应用的CSS值,getComputedStyle
获取应用所有内容后的实际计算值。
getComputedStyle
在IE8中不起作用,但有一堆polyfills可用: