当前位置: 首页 > 面试题库 >

BODY标记的背景颜色应用于整个HTML

慕凌
2023-03-14
问题内容

我对html中body标记的大小感到困惑。

我有一个艰难的代码如下:

<body>

</body>
 body{
        padding: 0px;
        height: 100px;
        background-color: #e5e5e5;
    }

为什么背景会覆盖整个页面?我以为背景只能覆盖100px,

请为我解释一下,谢谢您的帮助!


问题答案:

这的确令人费解,但它是在CSS2.1规范规定,第14.2背景:如果计算出的值background- colortransparent和的计算值background-imagenonehtml元素(如东西都默认情况下),浏览器必须改用的计算值body元素的背景属性,并且不得渲染背景body(即使其透明)。也就是说,如果缺少自己的背景,body背景就会神奇地变成html背景html-这只会影响背景属性,而不会影响body元素的真实高度。

我还没有看到这种奇怪规则的任何原理,该规则规定了一种“反向继承”。但是它在CSS 2.1中明确指定并由浏览器应用。

如其他答案所述,您可以通过将背景设置为html(使body背景仅实际应用body)或在其中使用wrapper元素body并在其上设置高度(因为应用了特殊规则)来使内容具有特定高度的背景到body)。

感谢当我在WHATWG邮件列表中询问CSS规范时,Anne van Kesteren指出了CSS规范。(我以为我很了解CSS 2.1,但实际上不知道。)



 类似资料:
  • 在超文本标记语言中,我什么时候使用颜色,背景颜色和背景标签有什么区别? 有什么区别?

  • background(int $color, int $pattern = self::PATTERN_SOLID): self int $color $format = new \Vtiful\Kernel\Format($fileHandle); ​ $backgroundStyle = $format->background( \Vtiful\Kernel\Format::COLO

  • 问题内容: 假设我要在CSS中渲染箭头,箭头应具有头部,尾部和灵活的宽度,以便可以包含文本。我当然可以创建多个div来获得所需的内容,但是如何在CSS3中完成呢? 我可以使用多个背景图片: 的HTML: 这给了我一个带有箭头和尾巴的透明中间部分。似乎不可能在中间部分指定颜色。 仅使用一张背景图像,您可以执行以下操作: 我知道这在很多方面都是可行的,但是背景颜色属性是否真的从速记定义中丢失了? 问题

  • 嗨,我正在为我的Java课程创建一个战舰程序。现在,我正在尝试开发一个射击类。为了开火,我试图将背景颜色从蓝色(这意味着它只是一个空单元格)改为黄色(以表明我已经在该单元格中开火,但那里什么也没有)。 这是Fire类的代码。如果您认为有必要,我可以包含它继承的其他类。我遇到的主要问题是尝试让我的“for”循环通过,并根据我想要的迭代次数将背景从蓝色更改为黄色。100是用于测试目的的任意数字。 谢谢

  • 我正在制作一个基于文本的游戏,用户输入文本来解决游戏。我决定使用JavaSwing来显示文本,我希望文本窗格的背景为黑色。我已经尝试了所有我发现的东西(注释掉了),但是没有一个看起来有效。 这里没有显示导入的图片,但是当我使用任何被注释掉的部分运行游戏时,游戏中没有错误。

  • 背景颜色是背景应用中最基础的属性,使用 background-color属性,几乎可以为任何元素定义背景颜色,该属性不能被继承,其默认值是 transparent,即透明背景。也就是说,如果一个元素没有显式定义背景颜色,那么其背景是透明的,就可以透过该元素看到其祖先元素的背景。 background-color属性接受任意合法的CSS颜色值,如预定义的颜色名、十六进制数值、RGB值、RGB百分比、