究竟是什么<;html>;视觉上?

究竟是什么<;html>;视觉上?,html,Html,滚动条属于还是 我一直在为每个html文件编写代码,但不知道它到底是什么。没有视觉效果。它只定义文档是一个html文档,它包含头和体 有视图的是主体 如果您谈到DOM,滚动条属于窗口。但是在CSS中,您可以通过 如果您在Firefox上使用Firebug并使用元素检查器(在该检查器中,您可以移动鼠标并指向HTML文档中的元素,然后将其指向没有元素的空白处,它将指向,给出以下标记和样式: <!DOCTYPE html> <html> <head> <ti

滚动条属于
还是

我一直在为每个html文件编写代码,但不知道它到底是什么。

没有视觉效果。它只定义文档是一个html文档,它包含

视图的是
主体

如果您谈到DOM,滚动条属于
窗口。
但是在CSS中,您可以通过


如果您在Firefox上使用Firebug并使用元素检查器(在该检查器中,您可以移动鼠标并指向HTML文档中的元素,然后将其指向没有元素的空白处,它将指向

,给出以下标记和样式:

<!DOCTYPE html>

<html>
<head>
<title></title>
<style type="text/css">
html {
 background: green;
 overflow:scroll;
}
body {
 background: red;
 overflow:scroll;
}
</style>
</head>
<body>

</body>
</html>

html{
背景:绿色;
溢出:滚动;
}
身体{
背景:红色;
溢出:滚动;
}
我们得到以下视觉效果:

火狐3.5

Internet Explorer 6

歌剧10

谷歌浏览器3


因此,我们可以设置
HTML
元素的样式。事实上,有些人将其与
BODY
标记结合使用,以获得复杂的背景。

至于css定义,标准规定不能在HTML标记上定义任何样式(因为HTML标记本身并不代表视图,正如Mauris所说,它是BODY).但许多浏览器都支持在html上设置样式

例子 这将页面背景显示为红色,正文显示为类似绿色框的

<html style="background-color:red;overflow:scroll;">
  <head>
    <title>Page</title>
  </head>
  <body style="margin:10px;background-color:green;overflow:scroll;">
    Page content
  </body>
</html>

页
页面内容
如果删除html标记上的样式定义,则正文上的背景色和滚动条将填充整个页面。边距仅应用于正文内的内容

<html>
  <head>
    <title>Page</title>
  </head>
  <body style="margin:10px;background-color:green;overflow:scroll;">
    Page content
  </body>
</html>

页
页面内容
根据CSS 2.1,根元素()与其他元素一样是渲染块元素。它不代表视口,因此根据标准,它不是为视口提供滚动条的元素 — 事实上,滚动条不属于任何元素

如果有任何东西表示视口,则它是“初始包含块”的概念,但是这是根元素的“上一级”,不能由CSS或DOM来寻址

然而,有一些特殊情况会混淆问题。尤其是,由于第14.2节中规定的特殊行为,Ionut的试验给出了这些结果:

根元素的背景成为画布的背景并覆盖整个画布

也就是说,根元素的背景溢出其实际尺寸以填充整个视口和文档。其次:

对于根元素为HTML“HTML”元素或XHTML“HTML”元素且计算值为“背景色”的“透明”和“背景图像”的“无”的文档,用户代理必须使用该元素的第一个HTML“正文”元素或XHTML“正文”中背景属性的计算值为画布绘制背景时,元素子元素,并且不得为该子元素绘制背景

也就是说,尽管元素绝对不代表视口,但它的背景也会以同样的方式溢出其维度。这只是作为向后兼容性度量,因为作者已经习惯于在元素上指定背景

因此,您不能使用背景色来判断根元素的维度或主体元素的维度位于何处。更好的方法是设置document.documentElement.style.border='点红色1px'。这表明根元素具有文档的维度,而不是视口的维度

除了在IE Quirks模式下,它会绕过滚动条。在Quirks模式下,表示视口;设置body.style.overflow.hidden会删除页面的滚动条。这绝对是错误的;您不需要Quirks模式

更让人困惑的是,有一些有趣的非标准特例行为暗示根元素就是视口

在IE(标准模式)中,根元素的“溢出”属性设置为“滚动”,您可以将其设置为“隐藏”以删除视口滚动条。此外,“offsetHeight”是视口的高度,而不是边框显示的元素的实际高度

在其他浏览器中,offsetHeight是预期值,但是(可能是为了兼容性),您仍然可以将document.documentElement.style.overflow设置为“隐藏”(从默认的“可见”)以删除视口滚动条。奇怪的是,在Opera中,完成此操作后currentStyle.overflow属性仍将显示为“可见”

结果是,如果要确保视口没有滚动条,请编写:

html { overflow: hidden; height: 100%; }

并确保使用标准模式doctype。“高度:100%”规则处理浏览器遵循标准且不将根元素的滚动条映射到视口的情况:这将通过“初始包含块”设置高度以匹配视口,因此父视口无需显示滚动条ar.

这只是一个标签,我们可以说让其他标签工作,或者定义这些标签的用途。实际上,滚动条属于和属于。

取决于浏览器…一如既往。我会说是,但我想这取决于浏览器。事实上,我已经猜了很长时间:)你能补充一下你为每个HTML文件写了什么吗?这取决于页面是以怪癖模式还是严格模式呈现。可以随意添加其他IE版本的屏幕截图。重要的是要注意,如果你没有为HTML标记设置任何css样式定义,正文的样式将填充到页面范围。正文的背景将填充画布,是的 — 这是一个特例。尺寸和st