Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Hintergrund

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.

Die background-Kurzschreibweise CSS-Eigenschaft setzt alle Hintergrundstil-Eigenschaften auf einmal, wie Farbe, Bild, Ursprung, Größe und Wiederholungsmethode.

Probieren Sie es aus

background: green;
background: content-box radial-gradient(crimson, skyblue);
background: no-repeat url("/shared-assets/images/examples/lizard.png");
background: left 5% / 15% 60% repeat-x
  url("/shared-assets/images/examples/star.png");
background:
  center / contain no-repeat
    url("/shared-assets/images/examples/firefox-logo.svg"),
  #eeeeee 35% url("/shared-assets/images/examples/lizard.png");
<section id="default-example">
  <div id="example-element"></div>
</section>
#example-element {
  min-width: 100%;
  min-height: 100%;
  padding: 10%;
}

Zusammengesetzte Eigenschaften

Diese Eigenschaft ist eine Kurzschreibweise für die folgenden CSS-Eigenschaften:

Syntax

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

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

/* Using a <visual-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;

Werte

<attachment>

Siehe background-attachment. Standard: scroll.

<visual-box>

Siehe background-clip und background-origin. Standard: border-box und padding-box bzw.

<'background-color'>

Siehe background-color. Standard: transparent.

<bg-image>

Siehe background-image. Standard: none.

<bg-position>

Siehe background-position. Standard: 0% 0%.

<repeat-style>

Siehe background-repeat. Standard: repeat.

<bg-size>

Siehe background-size. Standard: auto.

Beschreibung

Die background-Kurzschreibweise ermöglicht es Ihnen, alle CSS-Hintergrund-Eigenschaften in einer einzigen Deklaration festzulegen. Der Hintergrund liegt unter dem Inhalt eines Elements. Wenn Sie mehrere, durch Kommas getrennte Hintergrundwerte haben, ist jeder davon eine Hintergrundebene, die über den vorherigen Schichten gemalt wird.

Die background-Eigenschaft wird als eine oder mehrere Hintergrundschichten angegeben, die durch Kommas getrennt sind. Jede Schicht kann null, ein oder zwei <visual-box>-Komponenten und null oder eine <attachment>, <bg-image>, <bg-position>, <bg-size> und <repeat-style>-Komponente enthalten. Werden zwei <bg-position>, <bg-size> oder <repeat-style>-Komponenten angegeben, ist der erste Wert der horizontale Wert und der zweite Wert der vertikale Wert. Wenn nur ein einzelner Wert gesetzt ist, wird dieser Wert auf beide Dimensionen angewendet.

Die <'background-color'>-Komponente darf nur in der letzten angegebenen Hintergrundschicht eingeschlossen sein.

Nicht gesetzte Komponenten-Eigenschaften in der background-Kurzschreibweise werden auf ihre Standardwerte gesetzt.

Reihenfolge der Komponenten-Eigenschaften

Da einige der Komponenten-Eigenschaften gemeinsame Wertetypen haben, ist die Reihenfolge dieser Komponenten-Eigenschaften innerhalb der Kurzschreibweise wichtig.

Der <bg-size>-Wert darf nur direkt nach <bg-position> einschließlich des /-Zeichens enthalten sein. Zum Beispiel: 10px 10px / 80% 80% bedeutet, dass das Hintergrundbild 80% so hoch und breit wie das Element ist und 10px von oben und 10px von links von der oberen linken Ecke des Elements positioniert wird. Innerhalb der <bg-position>, wenn beide Werte Längen sind oder einer eine Länge und der andere center ist, bezieht sich der erste Wert auf die horizontale Position und der zweite Wert auf die vertikale Position.

Jede Hintergrundschicht kann null, ein oder zwei <visual-box>-Werte enthalten. Wenn nur ein Wert enthalten ist, legt dieser sowohl background-origin als auch background-clip fest. Wenn zwei Werte vorhanden sind, gibt das erste Vorkommen den background-origin und das zweite den background-clip-Wert an. Wenn keine <visual-box>-Werte vorhanden sind, ist der Standard für background-origin padding-box und für background-clip border-box.

Zwar gibt es keine Reihenfolgenanforderung für die anderen Hintergrund-Eigenschaften, aber die folgende Reihenfolge wird zur Konsistenz und Lesbarkeit empfohlen; denken Sie daran, dass keiner der Werte erforderlich ist:

<bg-image> <bg-position> / <bg-size> <repeat-style> <attachment> <bg-clip> <bg-origin> <'background-color'>

Der folgende background setzt alle Standardwerte in dieser Reihenfolge explizit:

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

Die folgenden drei Zeilen CSS sind äquivalent zu dem oben genannten, auch wenn sich die Reihenfolge unterscheidet:

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

Reihenfolge der Bildmalerei

Wenn mehrere durch Kommas getrennte Hintergründe enthalten sind, erzeugen sie mehrere Hintergrundschichten übereinander. Der erste Hintergrund in der Liste erzeugt die oberste Schicht. Wenn die oberste Schicht keine transparenten Bereiche enthält, ist dies die einzige sichtbare Schicht.

Die letzte Schicht ist die unterste Schicht. Die Hintergrundfarbe ist immer in dieser Schicht enthalten.

Anwendung des Body-Hintergrunds auf das gesamte Dokument

Wenn der berechnete background-image-Wert des Dokument-<html> :root-Elements none ist und seine background-color transparent ist, überträgt der Browser die auf das <body>-Element gesetzten background-Stile auf das :root und behandelt den <body>, als ob background: initial gesetzt wäre. Mit anderen Worten, das <html>-Element erhält alle auf das <body>-Element gesetzten background-Stile und die Hintergrund-Eigenschaften des <body>-Elements werden auf ihre Anfangswerte gesetzt.

Aufgrund dieses Verhaltens empfehlen die Autoren der Spezifikation, die Hintergrundstile Ihres Dokuments in Ihrem body-Stilblock anstelle Ihres html-Stilblocks festzulegen. Es ist jedoch wichtig zu beachten, dass durch die Verwendung von Containment dieses Verhalten deaktiviert wird. Wenn die contain-Eigenschaft auf etwas anderes als none auf entweder dem <html>- oder <body>-Element gesetzt ist, wird die background-Eigenschaft und alle Langform-Komponenten nicht vom <body>-Element auf das Root-<html>-Element übertragen.

Formale Definition

Anfangswertwie die jeweiligen Kurzschreibweisen:
Anwendbar aufalle Elemente. Auch anwendbar auf ::first-letter und ::first-line.
VererbtNein
Prozentwertewie die jeweiligen Kurzschreibweisen:
  • background-position: bezieht sich auf die Größe des Hintergrundpositionsbereichs abzüglich der Größe des Hintergrundbilds; die Größe bezieht sich auf die vertikalen und horizontalen Verschiebungen
  • background-size: bezieht sich auf den jeweiligen Bereich
Berechneter Wertwie die jeweiligen Kurzschreibweisen:
Animationstypwie die jeweiligen Kurzschreibweisen:

Formale Syntax

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

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

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

<bg-image> =
<image> |
none

<bg-position> =
<position> |
<position-three>

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

<repeat-style> =
repeat-x |
repeat-y |
repeat-block |
repeat-inline |
<repetition>{1,2}

<attachment> =
scroll |
fixed |
local

<bg-clip> =
<visual-box> |
[ border-area || text ]

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

<background-color> =
<color>

<image> =
<url> |
<image()> |
<image-set()> |
<cross-fade()> |
<element()> |
<gradient>

<position> =
<position-one> |
<position-two> |
<position-four>

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

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

<repetition> =
repeat |
space |
round |
no-repeat

<image()> =
image( <image-tags>? [ <image-src>? , <color>? ]! )

<image-set()> =
image-set( <image-set-option># )

<cross-fade()> =
cross-fade( <cf-image># )

<element()> =
element( <id-selector> )

<position-one> =
left |
center |
right |
top |
bottom |
x-start |
x-end |
y-start |
y-end |
block-start |
block-end |
inline-start |
inline-end |
<length-percentage>

<position-two> =
[ left | center | right | x-start | x-end ] && [ top | center | bottom | y-start | y-end ] |
[ left | center | right | x-start | x-end | <length-percentage> ] [ top | center | bottom | y-start | y-end | <length-percentage> ] |
[ block-start | center | block-end ] && [ inline-start | center | inline-end ] |
[ start | center | end ]{2}

<position-four> =
[ [ left | right | x-start | x-end ] <length-percentage> ] && [ [ top | bottom | y-start | y-end ] <length-percentage> ] |
[ [ block-start | block-end ] <length-percentage> ] && [ [ inline-start | inline-end ] <length-percentage> ] |
[ [ start | end ] <length-percentage> ]{2}

<image-tags> =
ltr |
rtl

<image-src> =
<url> |
<string>

<image-set-option> =
[ <image> | <string> ] [ <resolution> || type( <string> ) ]?

<cf-image> =
[ <image> | <color> ] &&
<percentage [0,100]>?

<id-selector> =
<hash-token>

Barrierefreiheit

Browser bieten keine speziellen Informationen zu Hintergrundbildern für unterstützende Technologie. Dies ist hauptsächlich für Screenreader wichtig, da ein Screenreader seine Anwesenheit nicht ankündigen und daher den Benutzern nichts vermittelt. Wenn das Bild Informationen enthält, die für das Verständnis des Gesamtzwecks der Seite entscheidend sind, ist es besser, es semantisch im Dokument zu beschreiben.

Beispiele

Hintergründe mit Farbbegriffen und Bildern einstellen

HTML

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

CSS

css
.warning {
  background: pink;
}

.top-banner {
  background: url("star-solid.gif") #9999ff repeat-y fixed;
}

Ergebnis

Spezifikationen

Spezifikation
CSS Backgrounds and Borders Module Level 3
# background

Browser-Kompatibilität

Siehe auch