html - 在 css 中声明 html 主体

标签 html css background background-image

我用过

html, body {
 background-image: something;
}

在我的 CSS 中使用了很多年。现在我不记得为什么真的..

这种方法是否必要/有益,或者 body{} 是否足够?

最佳答案

如果您要应用背景,通常选择body 就足够了;无论主体尺寸如何,浏览器都会知道在整个视口(viewport)上绘制背景。规范(CSS2.1CSS3 module)中涵盖了浏览器预期行为的详细信息。甚至 CSS2.1 规范也推荐它(尽管出于本文后面提到的原因,它并未强制执行):

For HTML documents, however, we recommend that authors specify the background for the BODY element rather than the HTML element.

唯一需要将背景应用到两个元素的情况是当您想要将一个背景叠加在另一个背景上时;您可以只在 body 元素上使用分层背景的 CSS3 语法,或者让 body 的背景覆盖 html 的背景。即便如此,我能想到的选择后者的唯一原因是如果您需要与不支持 CSS3 语法的旧浏览器兼容。我在对 this related question 的回答中深入介绍了这两种方法。 .

关于html - 在 css 中声明 html 主体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24253896/

相关文章:

html - 调整浏览器大小时阻止网页上的元素移动

javascript - 使用 ng-repeat 有条件地应用过滤器

html - 如何获得相对于文本量css的边距

html - 调整表格大小时,Chrome 渲染错误,标题背景粘在另一个 div 之上

javascript - jQuery ajax,等到 beforeSend 动画结束

android - 更改 RecyclerView 项目的项目背景

javascript - 如何在 jQuery 中使用 "setTimeout"?

python - 如何解决AttributeError : 'module' object has no attribute 'createBackgroundSubtractorMOG' in opencv?

悬停/事件菜单上的 CSS 背景图像缩小

html - 左对齐 Logo 文本和中心导航栏在同一行