Html 为应用整个页面的正文提供背景色。为什么?

Html 为应用整个页面的正文提供背景色。为什么?,html,css,Html,Css,正文{ 背景色:红色; } 你好,世界! 。一些{ 背景色:红色; } 你好,世界正文表示浏览器中显示的所有页面。所以,您只想为div指定颜色,您可以使用id或类为该div指定样式。和第一个答案一样 <body> <div class="some">Hello World!</div> </body> .some{ background-color: red; } 你好,世界! .一些{ 背景色:红色; } 或 你好,世

正文{
背景色:红色;
}

你好,世界!
。一些{
背景色:红色;
}

你好,世界正文表示浏览器中显示的所有页面。所以,您只想为div指定颜色,您可以使用id或类为该div指定样式。和第一个答案一样

<body>
    <div class="some">Hello World!</div>
</body>

.some{
   background-color: red;
}

你好,世界!
.一些{
背景色:红色;
}


你好,世界!
#一些{
背景色:红色;
}

CSS技巧在merit中有一个相关的帖子。主体样式似乎扩展为html,因为:

html是文档的根元素,其中body是子元素 包含在其中。事实上,CSS中有一个:根选择器。这些 目标完全相同

您在inspect中看到的高度是
最小高度
,它是相等高度的元素
div
,背景颜色变化
最大高度
,它等于其父母的100%(html)

例如:

更改
min height
并运行检查,查看结果:

正文{
背景色:红色;
最小高度:200px;
}

你好,世界
主要原因是
HTML
采用
正文的
背景色
,因为:

根元素的背景将成为 画布并覆盖整个画布[…]

因此,由于
HTML
的默认
background color
透明的
,因此它将采用
BODY
中的颜色。但是,将颜色应用于
HTML
BODY
元素,您将看到
BODY
背景不再覆盖整个页面

html{
背景颜色:蓝色;
}
身体{
背景色:红色;
}

你好,世界!

这其实很符合逻辑。首先,
标签是网页中必需的标签。如果
标记包含所有
代码,
标记包含所有内容

考虑一下基本
HTML
文档的标准结构:

<!DOCTYPE html>
<html lang="en">

  <head>
    <!-- Metadata and such -->
  </head>

  <body>
    <!-- Where the content begins -->
  <body>

</html>

规范将
定义为文档的根元素,在上面的示例中我们可以清楚地看到:元素是所有其他元素的最顶层。责任到此为止,因为没有更多的层次可以从中继承样式

从那里,组成了仅有的两个直接落在里面的元素。事实上,规范直接定义了与之相反的元素,因为它们是唯一需要区分的两个元素

因此,这里的底线是,它是文档的根元素,其中包含子元素。事实上,CSS中有一个:根选择器。这些目标完全相同

我们很容易想到,我们希望全面继承的任何样式都应该直接应用于
,因为它是文档的根元素<代码>
取代层次结构中的
,因此它必须包含所有全局样式

但事实并非如此。事实上,以下的内联属性最初分配给规范中的

  • 背景
  • bgcolor
  • 马金贝托姆
  • 边缘左
  • 边缘光
  • 马金托普
  • 正文
背景色

CSS
中有一件奇怪的事情,即
上的
背景色淹没了整个视口,即使元素本身的度量没有覆盖整个区域。除非在html元素上设置了
背景色,否则它不会


如果目标是泛洪,那么首先在
html
元素上设置它是明智的。

因为您只为body应用了后台,这就是我要问的。正文的高度不是整个页面的高度,但bg颜色应用于整个页面的高度可能重复我在问为什么即使正文的高度不是整个页面的高度,整个正文/页面bg也会变红默认值是整个页面,屏幕的正常屏幕高度和宽度是这一行中缺少的HTML关键字:“规范定义为文档的根元素”。这个句子没有意义。关于这一点,请阅读完整的答案——上面有多个这样的例子。@Nikhil的回答有点晚,但确实是打字错误。我试图提到一个代码标签,但忘记了倒勾。这就是为什么它一开始根本没有出现。谢谢你的提示!
<!DOCTYPE html>
<html lang="en">

  <head>
    <!-- Metadata and such -->
  </head>

  <body>
    <!-- Where the content begins -->
  <body>

</html>