javascript - 如何在纯 JavaScript 中获取 div 的边距值?

标签 javascript margin

我可以在 jQuery 中获取高度

$(item).outerHeight(true);

但是我如何使用 JS?

我可以得到li的高度

document.getElementById(item).offsetHeight

但是当我尝试 margin-top 时我总是会得到“”:

document.getElementById(item).style.marginTop

最佳答案

style 对象的属性只是直接应用于元素的样式(例如,通过 style 属性或在代码中)。所以 .style.marginTop 只有在你有特定分配给该元素的东西(不是通过样式表等分配的)时才会有东西。

要获取对象的当前计算样式,您可以使用 currentStyle属性 (Microsoft) 或 getComputedStyle功能(几乎所有其他人)。

例子:

var p = document.getElementById("target");
var style = p.currentStyle || window.getComputedStyle(p);

display("Current marginTop: " + style.marginTop);

公平警告:您返回的内容可能不是以像素为单位。例如,如果我在 IE9 中的 p 元素上运行上面的代码,我会返回 "1em"

Live Copy | Source

关于javascript - 如何在纯 JavaScript 中获取 div 的边距值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54757500/

相关文章:

html - 如何使用 CSS 过渡将 div 从屏幕外滑入绝对布局?

javascript - 提交表单到文件angularjs

javascript - 替换 observableArray 中的项目

javascript - 使用js更改 Bootstrap 面板标题

html - 我的 html/css 文档有重影边距或填充?

html - 为什么 margin 百分比会导致换行?

javascript - 无法在 Angular 中插入 url 参数

javascript - Jest 导入重新导出的命名导出

html - 在 css 中使用相邻选择器的边距

android - float 操作按钮 layout_margin(Bottom) 对底部边距没有影响