我正在尝试从<html>
和<body>
标签中读取“marginTop”样式属性。 Chrome开发者工具通过in-HTML CSS显示margin-top:
<style type="text/css" media="screen">
html { margin-top: 28px !important; }
* html body { margin-top: 28px !important; }
</style>
然而,当我尝试这样的事情时:
console.debug(document.getElementsByTagName('html')[0].style.marginTop);
console.debug(document.getElementsByTagName('body')[0].style.marginTop);
在这两种情况下我都会得到空字符串。
jQuery的offset()
函数正确检测边距。不幸的是,我不能在这种情况下使用jQuery,它必须是纯JavaScript。
如果有人能够提供一些关于我如何从html和body元素中读取上边距属性的信息,我将不胜感激。
答案 0 :(得分:9)
您可以通过以下方式解决问题:
var element = document.getElementsByTagName('html')[0],
style = window.getComputedStyle(element),
marginTop = style.getPropertyValue('margin-top');
答案 1 :(得分:1)
document
已经了解body
元素,因此:
window.getComputedStyle(document.body).getPropertyValue('margin-top');