小编典典

与body相比,将css规则应用于html有什么区别?

css

我看不出两者之间的区别:

html {
    background: #f1f1f1;
}

body {
    background: #f1f1f1;
}

有什么解释吗?


阅读 392

收藏
2020-05-16

共1个答案

小编典典

两者之间没有真正的区别(如果您只是在谈论在哪里申请background那么BoltClock对另一个问题的答案更合适)。html是一个元素,就像body是。

两者都是有效的选择,并且都可以在所有通用浏览器中使用。

例如,YUI重置选择backgroundhtml元素上设置一个,而不是body

这要求您将backgroundon 设置html为on ,例如,请参见:无法使用CSSreset更改主体背景颜色

根元素的背景成为画布的背景,并且其背景绘画区域扩展为覆盖整个画布,尽管任何图像的大小和位置都相对于根元素而定,就好像它们是为该元素单独绘制的一样。(换句话说,背景定位区域是针对根元素确定的。)如果根的“
background-color”值为“ transparent”,则画布的背景色取决于UA。根元素不会再次绘制该背景,即其背景的使用值是透明的。

和:

对于其根元素是HTML HTML元素[HTML401]或XHTML html元素[XHTML11]的文档:如果根元素上“ background-
image”的计算值为“ none”且其“ background-color”为“ transparent”
”,则用户代理必须改为从该元素的第一个HTML BODY或XHTML
body子元素传播背景属性的计算值。该BODY元素的背景属性的使用值是它们的初始值,并且将传播的值当作在根元素上指定的那样对待。建议HTML文档的作者为BODY元素而不是HTML元素指定画布背景。

2020-05-16