【问题标题】:Is it okay to give <html> a background image in CSS?可以在 CSS 中给 <html> 一个背景图像吗?
【发布时间】:2012-01-08 08:05:48
【问题描述】:

或者由于某种原因这是不好的做法?

非常感谢!

【问题讨论】:

  • 澄清“好”的定义可能很有用。 @danontheline 指出这是无效的 html。它将呈现,但在技术上无效。
  • 这是一个非常有趣的问题。我也必须用 JavaScript 做一些测试。

标签: html css background tags


【解决方案1】:

我只是将它添加到 body 元素中,您将获得相同的效果。或者,如果您正在查看双背景,您可能希望查看能够使用此功能的 CSS3 组件。 (虽然不兼容所有浏览器版本)

【讨论】:

  • 那我会试试看 :) 显然有一些关于使用 标签的有效性的争论。
  • 有“正确的方法”和“有效的方法”。鉴于您询问最佳实践,我避免使用胶带。
【解决方案2】:

鉴于您的问题...

这是一种不好的做法。

页面整个主体的背景应该应用于body标签:

body { background-image:url('sunny.gif') }

这是最佳实践。

请注意,如果您使用的图像小于屏幕,则会重复!

通常推荐的做法是同时指定匹配的背景颜色,因为它会立即出现(然后被替换)。

body { background-image:url('sunny.gif'); background-color:#b0c4de; }

还有一个捷径:

body { background: #b0c4de; url('sunny'.jpg) } # could also add repeat/scroll/top

这是背景的完整列表:

  • 背景附件
  • 背景色
  • 背景图片
  • 背景位置
  • 后台重复

好文章:http://www.beginnersguidetohtml.com/references/css

【讨论】:

  • 我实际上打算为此使用 CSS :)
  • 谢谢迈克尔,但我不再是一个初学者了 :D 但我非常感谢你所做的努力,非常感谢!
【解决方案3】:

在我看来,html 是背景比正文更好的地方。 W3C 的建议是不同的。我认为这是由于与非常旧的浏览器的兼容性,例如 Internet Explorer 5.5、Netscape Navigator 4 或其他更奇特的东西。无论哪种情况,这两个地方都有效。

http://www.w3.org/TR/2011/REC-CSS2-20110607/colors.html 点 14.2
http://www.w3.org/TR/2011/CR-css3-background-20110215/ 点 3.11

有个小怪癖。

  1. 如果您在正文端而不是 html 上设置背景,浏览器会将其解释为 html 上的背景,而不是正文上的背景。
  2. 如果您在 html 上设置背景,一切都会按预期工作。
  3. 如果您在 html 和 body 上都设置了背景,您可能会看到 body 框小于 html 框。

【讨论】:

  • 嗯,有趣...我已经使用双背景解决了这个问题,但我仍然会尝试这个,只是为了...嗯,试试看。
  • 我认为移动设备没有任何问题。
【解决方案4】:

我认为这不是问题。它适用于较旧的浏览器。尽管我建议您不要在 html 标记中添加许多其他样式,但它在浏览器之间往往会有些不一致。

【讨论】:

  • 谢谢!我想尝试一些具有双重背景的东西,其中一个需要位于页面底部。到目前为止我还不能真正弄清楚,所以我希望答案在于在 标签中使用一个 bg。
【解决方案5】:

W3C Schhols 说它无效:

核心属性 在 base、head、html、meta、param、script、style 和 title 中无效 元素。

而那些无效属性的列表就是找here

你为什么不给&lt;body&gt;样式属性?

【讨论】:

猜你喜欢
  • 2011-08-26
  • 2013-08-07
  • 2011-11-11
  • 2012-11-10
  • 2016-01-05
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
相关资源
最近更新 更多