使用JavaScript读取html/body标记页边距顶部

使用JavaScript读取html/body标记页边距顶部,javascript,html,css,Javascript,Html,Css,我正在尝试从和标记中读取“marginTop”样式属性。Chrome developer tools在HTML CSS中以设置方式显示边距顶部: <style type="text/css" media="screen"> html { margin-top: 28px !important; } * html body { margin-top: 28px !important; } </style> 在这两种情况下我都得到空字符串 jQuery的offset()函数

我正在尝试从
标记中读取“marginTop”样式属性。Chrome developer tools在HTML CSS中以设置方式显示边距顶部:

<style type="text/css" media="screen">
html { margin-top: 28px !important; }
* html body { margin-top: 28px !important; }
</style>
在这两种情况下我都得到空字符串

jQuery的
offset()
函数可以正确检测边距。不幸的是,我不能在这种情况下使用jQuery,它必须是纯JavaScript

如果有人能告诉我如何从html和body元素中读取top margin属性,我将不胜感激。

您可以通过以下方法解决此问题:

var element = document.getElementsByTagName('html')[0],
    style = window.getComputedStyle(element),
    marginTop = style.getPropertyValue('margin-top');

文档已经了解了
主体
元素,因此:

window.getComputedStyle(document.body).getPropertyValue('margin-top');

为什么在此实例中无法使用jquery?您可以随时查看获取页边距的jquery方法。在它的系统的某个地方,它抓住了这个属性,这是一个插件库。我无法控制它将用于的环境。它不依赖于jQuery,仅为此将其添加到需求中是愚蠢的。
window.getComputedStyle(document.body).getPropertyValue('margin-top');