HTML - 哪个元素有页面的滚动条:<BODY> 或 <HTML>?

HTML - Which element has the page's scrollbar: <BODY> or <HTML>?

在一个简单、合规的 HTML 文档中, 元素中的内容比浏览器的视口高,右侧会出现一个垂直滚动条(除非滚动条被禁用,当然)。

发生这种情况时,滚动条附加到哪个元素: 或 ?

如果您想知道元素如何附加 CSS 属性 overflow,这无关紧要。您可以根据需要将其附加到 <html><body>

大卫默多克所述Here这是最好的了解方式

function getScrollingElement() {
  var d = document;
  return d.documentElement.scrollHeight > d.body.scrollHeight &&
    d.compatMode.indexOf('CSS1') == 0 ?
    d.documentElement :
    d.body;
}

默认情况下,至少在 Chrome、<html>。您可以通过向下滚动此页面并将 document.body.scrollTopdocument.getElementsByTagName('html').item(0).scrollTop.

进行比较来进行测试

您无需保留此选择,您可以使用 CSS 覆盖此默认行为。

尝试添加:

   * {
outline: 1px solid green;
}

然后当你向下滚动时,你可以看到高框(大的),然后右键单击它以检查元素然后你应该看到你需要的所有信息。