Skip to main content

The background Shorthand Property

The CSS background property is the ultimate shorthand for defining all individual background-related properties in a single declaration. Using the shorthand dramatically reduces CSS file size and improves readability, allowing you to style an element's entire background with one line of code.


The Syntax and Order​

The background shorthand can accept any number of background properties, with one important exception regarding background-size.

General Syntax​

styles.css
selector {
background: <color> <image> <repeat> <attachment> <position> / <size> ;
}

While the property order is generally flexible, following a consistent pattern makes your code easier to read.

PropertyExample ValueDescription
background-color#f0f0f0The solid fallback color (can be placed anywhere).
background-imageurl('star.png')The image, pattern, or gradient.
background-repeatno-repeatHow the image tiles.
background-attachmentfixedScroll behavior (scroll, fixed, local).
background-positioncenter topThe starting position of the image.
/ background-size/ coverThe size/scaling of the image. Must be placed after position, separated by a forward slash (/).

Practical Examples​

1. Simple Hero Banner​

A common use case is setting a full-width banner image with proper scaling and color fallback.

styles.css
.hero-banner {
/* Color | Image | Repeat | Attachment | Position / Size */
background:
#111 /* background-color */
url('hero.jpg') /* background-image */
no-repeat /* background-repeat */
fixed /* background-attachment */
center / cover; /* background-position / background-size */

height: 500px;
}

2. Tiled Pattern​

Setting a small image to tile across a section.

styles.css
.tile-section {
/* Color | Image | Repeat */
background: #fff url('pattern.png') repeat;
}

3. Multiple Backgrounds​

The shorthand is essential for setting multiple stacked backgrounds. You must provide a full set of values for each background layer, separated by commas.

The properties are listed from top layer to bottom layer.

styles.css
.multi-background {
background:
/* Top Layer (Semi-transparent dots) */
url('dots.png') repeat center center,

/* Bottom Layer (Gradient) */
linear-gradient(to right, #4CAF50, #8BC34A);

background-color: #333; /* Color is shared by all layers */
}

Shorthand Caveats​

1. background-size Requires the Slash (/)​

If you omit background-size, it defaults to auto auto. If you include it, it must immediately follow the background-position value, separated by a forward slash.

styles.css
/* CORRECT: 50% 50% is position, / 200px 100px is size */
background: url('img.jpg') no-repeat 50% 50% / 200px 100px;

/* INCORRECT: The browser won't know where position ends and size begins */
/* background: url('img.jpg') no-repeat 50% 50% 200px 100px; */

2. Omitted Values Reset​

Any property not explicitly defined in the shorthand will be reset to its initial value.

If you had:

styles.css
.box { background-repeat: repeat-x; }
.box { background: #000; } /* This resets background-repeat to its initial value, 'repeat'. */

To avoid unwanted resets, always define all required properties in the shorthand.

Interactive background Shorthand Demo​

Use the live editor to define all background properties in a single line.