Web/CSS/background-repeat

From Get docs


The background-repeat CSS property sets how background images are repeated. A background image can be repeated along the horizontal and vertical axes, or not repeated at all.


The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.

By default, the repeated images are clipped to the size of the element, but they can be scaled to fit (using round) or evenly distributed from end to end (using space).

Syntax

/* Keyword values */
background-repeat: repeat-x;
background-repeat: repeat-y;
background-repeat: repeat;
background-repeat: space;
background-repeat: round;
background-repeat: no-repeat;

/* Two-value syntax: horizontal | vertical */
background-repeat: repeat space;
background-repeat: repeat repeat;
background-repeat: round space;
background-repeat: no-repeat round;

/* Global values */
background-repeat: inherit;
background-repeat: initial;
background-repeat: unset;

Values

<repeat-style>
The one-value syntax is a shorthand for the full two-value syntax:
{| | Single value | Two-value equivalent |- | repeat-x | repeat no-repeat |- | repeat-y | no-repeat repeat |- | repeat | repeat repeat |- | space | space space |- | round | round round |- | no-repeat | no-repeat no-repeat |} In the two-value syntax, the first value represents the horizontal repetition behavior and the second value represents the vertical behavior. Here is an explanation of how each option works for either direction:
{| | repeat | The image is repeated as much as needed to cover the whole background image painting area. The last image will be clipped if it doesn't fit. |- | space | The image is repeated as much as possible without clipping. The first and last images are pinned to either side of the element, and whitespace is distributed evenly between the images. The background-position property is ignored unless only one image can be displayed without clipping. The only case where clipping happens using space is when there isn't enough room to display one image. |- | round | As the allowed space increases in size, the repeated images will stretch (leaving no gaps) until there is room (space left >= half of the image width) for another one to be added. When the next image is added, all of the current ones compress to allow room. Example: An image with an original width of 260px, repeated three times, might stretch until each repetition is 300px wide, and then another image will be added. They will then compress to 225px. |- | no-repeat | The image is not repeated (and hence the background image painting area will not necessarily be entirely covered). The position of the non-repeated background image is defined by the background-position CSS property. |}

Formal definition

Initial value repeat
Applies to all elements. It also applies to ::first-letter and ::first-line.
Inherited no
Computed value a list, each item consisting of two keywords, one per dimension
Animation type discrete

Formal syntax

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

Examples

Setting background-repeat

HTML

<ol>
  <li>no-repeat
    <div class="one"></div>
  </li>
  <li>repeat
    <div class="two"></div>
  </li>
  <li>repeat-x
    <div class="three"></div>
  </li>
  <li>repeat-y
    <div class="four"></div>
  </li>
  <li>space
    <div class="five"></div>
  </li>
  <li>round
    <div class="six"></div>
  </li>
  <li>repeat-x, repeat-y (multiple images)
    <div class="seven"></div>
  </li>
</ol>

CSS

/* Shared for all DIVS in example */
ol,
li {
  margin: 0;
  padding: 0;
}
li {
  margin-bottom: 12px;
}
div {
    background-image: url(https://mdn.mozillademos.org/files/12005/starsolid.gif);
    width: 160px;
    height: 70px;
}

/* Background repeats */
.one {
  background-repeat: no-repeat;
}
.two {
  background-repeat: repeat;
}
.three {
  background-repeat: repeat-x;
}
.four {
  background-repeat: repeat-y;
}
.five {
  background-repeat: space;
}
.six {
  background-repeat: round;
}

/* Multiple images */
.seven {
  background-image:  url(https://mdn.mozillademos.org/files/12005/starsolid.gif),
                     url(https://developer.cdn.mozilla.net/media/redesign/img/favicon32.png);
  background-repeat: repeat-x,
                     repeat-y;
  height: 144px;
}

Result

In this example, each list item is matched with a different value of background-repeat.

Specifications

Specification Status Comment
CSS Backgrounds and Borders Module Level 3The definition of 'background-repeat' in that specification. Candidate Recommendation Adds support for multiple background images, the two-value syntax allowing distinct repetition behavior for the horizontal and vertical directions, the space and round keywords, and for backgrounds on inline-level elements by precisely defining the background painting area.
CSS Level 2 (Revision 1)The definition of 'background-repeat' in that specification. Recommendation No significant changes.
CSS Level 1The definition of 'background-repeat' in that specification. Recommendation Initial definition.

Browser compatibility

The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
background-repeat Chrome

Full support 1

Edge

Full support 12

Firefox

Full support 1

IE

Full support 4

Opera

Full support 3.5

Safari

Full support 1

WebView Android

Full support 37

Chrome Android

Full support 18

Firefox Android

Full support 4

Opera Android

Full support 10.1

Safari iOS

Full support 1

Samsung Internet Android

Full support 1.0

Multiple backgrounds Chrome

Full support 1

Edge

Full support 12

Firefox

Full support 3.6

IE

Full support 9

Opera

Full support 10.5

Safari

Full support 1.3

WebView Android

Full support 37

Chrome Android

Full support 18

Firefox Android

Full support 4

Opera Android

Full support 11

Safari iOS

Full support 1

Samsung Internet Android

Full support 1.0

round and space keywords Chrome

Full support 30

Edge

Full support 12

Firefox

Full support 49

IE

Full support 9

Opera Full support 17


Full support 17


No support 10.5 — 15


Safari

Full support 7

WebView Android

Full support ≤37

Chrome Android

Full support 30

Firefox Android

Full support 49

Opera Android

Full support 18

Safari iOS

Full support 8

Samsung Internet Android

Full support 2.0

Two-value syntax (different values for x & y directions) Chrome

Full support 3

Edge

Full support 12

Firefox

Full support 13

IE

Full support 9

Opera

Full support 10.5

Safari

Full support 5

WebView Android

Full support ≤37

Chrome Android

Full support 18

Firefox Android

Full support 14

Opera Android

Full support 11

Safari iOS

Full support 4

Samsung Internet Android

Full support 1.0

Legend

Full support  
Full support


See also