我想在整体上添加一些上边距,但我想我并没有正确地提到这个元素。
这就是我所拥有的:
getElementsByTagName("html").style.marginTop = top_height;
我猜测必须有另一种方式来引用<html>
标签,因为它是一种独特的标签,但我还没有找到如何经过大量的搜索。我可能没有运行正确的搜索。希望有人可以帮助我。
答案 0 :(得分:3)
您应该将边距应用于body
,因为它是可见元素的根。
此外,getElementsByTagName
不在document
之内,并返回元素列表。 document.querySelector('body')
将返回第一个,或者您可以使用document.body
作为Jaromanda推荐。
答案 1 :(得分:2)
我猜测必须有另一种方式来引用
<html>
标记,因为它是一种独特的标记
有。事实上,它有document
的属性。它是document.documentElement
。
此属性带来了改进的性能,因为它不需要运行任何文档查询,并且可以用于访问具有其他文档类型的根元素,例如SVG。
答案 2 :(得分:1)
我建议在主体上添加边距而不是!DOCTYPE html属性。
getElementsByTagName("body").style.marginTop = top_height;
答案 3 :(得分:1)
您需要在document.
之前添加getElementsByTagName
,然后由于此特定函数返回匹配标记的数组,您可以执行以下操作(在浏览器控制台中尝试并观察stackoverflow向下移动6个像素):
document.getElementsByTagName("html")[0].style.marginTop = "6px";
与提及@Alexander O'Mara一样,document.documentElement
是一种更好的方式来访问html元素,因此您的代码将是这样的:
document.documentElement.style.marginTop = "6px";