如何计算HTML元素的左边距

时间:2013-04-04 20:06:37

标签: javascript html css

有没有办法编写一个javascript函数,给定任何HTML元素告诉我它的'margin-left'以像素为单位。 (我想无论算法如何,都可以重新发布以获得边距,顶部和底部)

一个解决方案就是:

function(htmlElement) {
    return htmlElement.style.marginLeft;
}

但只有在该html元素上应用marginLeft时才有效。

如果未明确设置,我该如何计算? 如果没有明确设置像素?

1 个答案:

答案 0 :(得分:4)

您可以使用window.getComputedStyle()

来完成此操作

jsFiddle

window.getComputedStyle(elem, null).getPropertyValue("margin-left");

因此elem.style.marginLeft获取应用的CSS值,getComputedStyle获取应用所有内容后的实际计算值。

getComputedStyle在IE8中不起作用,但有一堆polyfills可用: