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.scrollTop
与 document.getElementsByTagName('html').item(0).scrollTop
.
进行比较来进行测试
您无需保留此选择,您可以使用 CSS 覆盖此默认行为。
尝试添加:
* {
outline: 1px solid green;
}
然后当你向下滚动时,你可以看到高框(大的),然后右键单击它以检查元素然后你应该看到你需要的所有信息。
在一个简单、合规的 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.scrollTop
与 document.getElementsByTagName('html').item(0).scrollTop
.
您无需保留此选择,您可以使用 CSS 覆盖此默认行为。
尝试添加:
* {
outline: 1px solid green;
}
然后当你向下滚动时,你可以看到高框(大的),然后右键单击它以检查元素然后你应该看到你需要的所有信息。