设置 html { background-color : blue },为什么却能铺满整个页面? html 的 height 没有这么高啊

2019-01-31 15:47:54 +08:00
 manyfreebug
源码在 JS Bin : http://js.jirengu.com/worodipasu/1/edit?html,css,output
2831 次点击
所在节点    CSS
3 条回复
Yoefs
2019-01-31 15:58:39 +08:00
因为 html 是文档的根元素
rabbbit
2019-01-31 16:33:24 +08:00
元素的背景会成为画布的背景并覆盖整个画布,被定位(用'background-position')在同一个位置,就像它只是为根元素本身绘制的一样。根元素不会再次绘制这个背景

然而,对于 HTML 文档,我们建议编写者给 BODY 元素指定背景,而不是给 HTML 元素。对于那些根元素是'background-color'计算值为'transparent'且'background-image'计算值为'none'的 HTML 的"HTML"元素或者 XHTML 的"html"元素的文档,用户代理在给画布绘制背景时,必须应用该元素的第一个 HTML 的"BODY"元素或者 XHTML 的"body"元素子级的背景属性的计算值,并且不给那些子元素绘制背景(作为画布的背景覆盖整张画布)。这种背景也必须被定位到同一个位置,就像它们只是为根元素绘制的一样
http://www.ayqy.net/doc/css2-1/colors.html#propdef-background
rabbbit
2019-01-31 16:34:33 +08:00
根元素的背景会成为画布的背景并覆盖整个画布

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/532186

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX