背景

Avatar of Sara Cope
Sara Cope

DigitalOcean 为您旅程的每个阶段提供云产品。 立即开始使用,可获得 200 美元的免费赠金

CSS 中的 background 属性允许您控制任何元素的背景(在该元素的内容下方绘制的内容)。 它是一个*简写*属性,这意味着它允许您在一个属性中编写多个 CSS 属性。 像这样

body {
  background:
     url(sweettexture.jpg)    /* image */
     top center / 200px 200px /* position / size */
     no-repeat                /* repeat */
     fixed                    /* attachment */
     padding-box              /* origin */
     content-box              /* clip */
     red;                     /* color */
}

background 由其他八个属性组成

您可以按几乎任何顺序使用这些属性的任意组合(尽管规范中建议的顺序如上)。 但是有一个问题:您在 background 属性中未指定的任何内容都会自动设置为其默认值。 因此,如果您执行以下操作

body {
  background-color: red;
  background: url(sweettexture.jpg);
}

背景将是透明的,而不是红色。 不过,修复起来很容易:只需在 background 之后定义 background-color,或者只使用简写形式(例如 background: url(...) red;

多个背景

CSS3 增加了对多背景的支持,这些背景层叠在一起。 与背景相关的任何属性都可以采用逗号分隔的列表,如下所示

body {
  background: url(sweettexture.jpg), url(texture2.jpg) black;
  background-repeat: repeat-x, no-repeat;
}

逗号分隔列表中的每个值对应一个图层:第一个值是顶层,第二个值是第二层,背景颜色始终是最后一层。

演示

浏览器支持

不同特定属性的支持程度有所不同,年鉴中的每一篇相关文章都有独特的浏览器支持说明。 不过,基本的单色背景和单张图像在任何地方都有效,任何不受支持的内容都会回退到次优选项,无论是图像还是颜色。

IEEdgeChromeFirefoxSafariOpera
iOSChrome Android 版Firefox Android 版Android 浏览器Opera Mobile