我看不出以下之间的区别:
html {
background: #f1f1f1;
}
and
body {
background: #f1f1f1;
}
有什么解释吗?
没有真正的区别(如果你只是谈论在哪里申请background
, 否则BoltClock 对另一个问题的回答 https://stackoverflow.com/questions/4565942/should-global-css-styles-be-set-on-the-html-element-or-the-body-element是更合适的)。html
是一个元素,就像body
is.
两者都是有效的选择,并且都可以在所有常见浏览器中运行。
例如,YUI Reset 选择设置background
on the html
元素而不是body
:
http://yui.yahooapis.com/3.3.0/build/cssreset/reset.css http://yui.yahooapis.com/3.3.0/build/cssreset/reset.css
这需要您设置您的background
on html
,例如参见:无法使用 CSS 重置更改正文背景颜色 https://stackoverflow.com/questions/6671846/cant-change-body-background-color-using-css-reset
See: http://dev.w3.org/csswg/css3-background/#special-backgrounds http://dev.w3.org/csswg/css3-background/#special-backgrounds
根元素的背景变成了
画布及其背景绘画区域延伸覆盖整个
画布,尽管任何图像的大小和位置都相对于画布
根元素就好像它们是单独为该元素绘制的。 (其他
也就是说,背景定位区域是按照root来确定的
元素。)如果根的“background-color”值为“透明”,则
画布的背景颜色取决于 UA。根元素不
再次绘制该背景,即其背景的使用值为
透明的。
And:
对于根元素是 HTML HTML 元素 [HTML401] 或
一个 XHTML html 元素 [XHTML11]:如果计算出的值
根元素上的“background-image”为“none”,其
“背景颜色”是“透明”,用户代理必须改为
传播背景属性的计算值
元素的第一个 HTML BODY 或 XHTML body 子元素。使用值
BODY 元素的背景属性是它们的初始值,
并且传播的值被视为好像它们是在
根元素。建议 HTML 文档的作者指定
BODY 元素而不是 HTML 的画布背景
元素。
这堵文字墙所说的内容如下所示:
-
background
就在body
: http://jsfiddle.net/hhtzE/ http://jsfiddle.net/hhtzE/
-
background
on html
and body
: http://jsfiddle.net/hhtzE/1/ http://jsfiddle.net/hhtzE/1/
-
background
only html
: http://jsfiddle.net/hhtzE/2/ http://jsfiddle.net/hhtzE/2/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)