背景

background 简写 CSS 属性一次设置所有背景样式属性,例如颜色、图像、原点和大小,或重复方法。在 background 简写属性值声明中未设置的组件属性将设置为其默认值。

试试看

组成属性

语法

css
/* Using a <background-color> */
background: green;

/* Using a <bg-image> and <repeat-style> */
background: url("test.jpg") repeat-y;

/* Using a <box> and <background-color> */
background: border-box red;

/* A single image, centered and scaled */
background: no-repeat center/80% url("../img/image.png");

/* Global values */
background: inherit;
background: initial;
background: revert;
background: revert-layer;
background: unset;

background 属性指定为一个或多个背景层,用逗号分隔。

每一层的语法如下

  • 每一层可以包含以下值的零个或一个实例
    • <attachment>
    • <bg-image>
    • <position>
    • <bg-size>
    • <repeat-style>
  • <bg-size> 值只能包含在 <position> 之后,用 '/' 字符分隔,如下所示:"center/80%"。
  • <box> 值可以包含零次、一次或两次。如果包含一次,则设置 background-originbackground-clip。如果包含两次,则第一个实例设置 background-origin,第二个实例设置 background-clip
  • <background-color> 值只能包含在指定的最后一层中。

<attachment>

参见 background-attachment。默认值:scroll

<box>

参见 background-clipbackground-origin。默认值:分别为 border-boxpadding-box

<background-color>

参见 background-color。默认值:transparent

<bg-image>

参见 background-image。默认值:none

<position>

参见 background-position。默认值:0% 0%。

<repeat-style>

参见 background-repeat。默认值:repeat

<bg-size>

参见 background-size。默认值:auto

以下三行 CSS 等效

css
background: none;
background: transparent;
background: repeat scroll 0% 0% / auto padding-box border-box none transparent;

正式定义

初始值作为简写中的每个属性
应用于所有元素。它也应用于 ::first-letter::first-line
继承
百分比作为简写中的每个属性
  • background-position: 参考背景定位区域的大小减去背景图像的大小;大小指的是水平偏移的宽度和垂直偏移的高度
  • background-size: 相对于背景定位区域
计算值作为简写中的每个属性
动画类型作为简写中的每个属性

正式语法

background = 
<bg-layer>#? , <final-bg-layer>

<bg-layer> =
<bg-image> ||
<bg-position> [ / <bg-size> ]? ||
<repeat-style> ||
<attachment> ||
<visual-box> ||
<visual-box>

<final-bg-layer> =
<bg-image> ||
<bg-position> [ / <bg-size> ]? ||
<repeat-style> ||
<attachment> ||
<visual-box> ||
<visual-box> ||
<'background-color'>

<bg-image> =
<image> |
none

<bg-position> =
[ left | center | right | top | bottom | <length-percentage> ] |
[ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] |
[ center | [ left | right ] <length-percentage>? ] && [ center | [ top | bottom ] <length-percentage>? ]

<bg-size> =
[ <length-percentage [0,∞]> | auto ]{1,2} |
cover |
contain

<repeat-style> =
repeat-x |
repeat-y |
[ repeat | space | round | no-repeat ]{1,2}

<attachment> =
scroll |
fixed |
local

<visual-box> =
content-box |
padding-box |
border-box

<background-color> =
<color>

<image> =
<url> |
<gradient>

<length-percentage> =
<length> |
<percentage>

<url> =
<url()> |
<src()>

<url()> =
url( <string> <url-modifier>* ) |
<url-token>

<src()> =
src( <string> <url-modifier>* )

无障碍访问

浏览器不会向辅助技术提供任何关于背景图像的特殊信息。这主要对屏幕阅读器很重要,因为屏幕阅读器不会宣布其存在,因此不会向其用户传达任何信息。如果图像包含理解页面总体目的的关键信息,最好在文档中以语义方式描述它。

示例

使用颜色关键字和图像设置背景

HTML

html
<p class="topbanner">
  Starry sky<br />
  Twinkle twinkle<br />
  Starry sky
</p>
<p class="warning">Here is a paragraph</p>
<p></p>

CSS

css
.warning {
  background: pink;
}

.topbanner {
  background: url("starsolid.gif") #99f repeat-y fixed;
}

结果

规范

规范
CSS 背景和边框模块级别 3
# the-background

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅