`background-origin` CSS property
Baseline Widely available
This feature is well established and works across many devices and browser versions. It's been available across browsers since July 2015.
The background-origin CSS property sets the background's origin: from the border start, inside the border, or inside the padding.
Note that background-origin is ignored when background-attachment is fixed.
Try it
background-origin: border-box; background-repeat: no-repeat;
background-origin: padding-box; background-repeat: no-repeat;
background-origin: content-box; background-repeat: no-repeat;
<section id="default-example"> <div id="example-element">This is the content of the element.</div> </section>
#example-element {
background-image: url("/shared-assets/images/examples/leopard.jpg");
color: #d73611;
text-shadow: 2px 2px black;
padding: 20px;
border: 10px dashed #333333;
font-size: 2em;
font-weight: bold;
}
Syntax
/* Keyword values */ background-origin: border-box; background-origin: padding-box; background-origin: content-box; /* Global values */ background-origin: inherit; background-origin: initial; background-origin: revert; background-origin: revert-layer; background-origin: unset;
Values
This property is specified as one of the following keyword values:
-
border-box - The background is positioned relative to the border box.
-
padding-box - The background is positioned relative to the padding box. Default value.
-
content-box - The background is positioned relative to the content box.
Formal definition
| Initial value | padding-box |
|---|---|
| Applies to | all elements |
| Inherited | no |
| Computed value | as specified |
| Animation type | a repeatable list |
Formal syntax
background-origin = <visual-box># <visual-box> = content-box | padding-box | border-box
Examples
Setting background origins
.example {
border: 10px double;
padding: 10px;
background: url("image.jpg");
background-position: center left;
background-origin: content-box;
}
#example2 {
border: 4px solid black;
padding: 10px;
background: url("image.gif");
background-repeat: no-repeat;
background-origin: border-box;
}
div {
background-image:
url("logo.jpg"), url("main-back.png"); /* Applies two images to the background */
background-position:
top right,
0px 0px;
background-origin: content-box, padding-box;
}
Using two gradients
In this example the box has a thick dotted border. The first gradient uses the padding-box as the background-origin and therefore the background sits inside the border. The second uses the content-box and so only displays behind the content.
.box {
margin: 10px 0;
color: white;
background:
linear-gradient(
90deg,
rgb(131 58 180 / 100%) 0%,
rgb(253 29 29 / 60%) 60%,
rgb(252 176 69 / 100%) 100%
),
radial-gradient(circle, white 0%, black 28%);
border: 20px dashed black;
padding: 20px;
width: 400px;
background-origin: padding-box, content-box;
background-repeat: no-repeat;
}
<div class="box">Hello!</div>
Specifications
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | |
background-origin |
1
1Chrome accepts alternate synonyms to its values:padding, border, and content. |
12
12Since Edge 79, accepts alternate synonyms to its values:padding, border, and content. |
4
49
1–4Used the-moz-background-clip: padding | border syntax. |
10.5
15Opera accepts alternate synonyms to its values:padding, border, and content. |
3
3Webkit accepts alternate synonyms to its values:padding, border, and content. |
18
18Chrome Android accepts alternate synonyms to its values:padding, border, and content. |
4
49
|
11
14Opera accepts alternate synonyms to its values:padding, border, and content. |
1
1Webkit accepts alternate synonyms to its values:padding, border, and content. |
1.0
1.0Samsung Browser accepts alternate synonyms to its values:padding, border, and content. |
4
4WebView accepts alternate synonyms to its values:padding, border, and content. |
1
1Webkit accepts alternate synonyms to its values:padding, border, and content. |
border-box |
1 |
12 |
4 |
15 |
3 |
18 |
4 |
14 |
2 |
1.0 |
4.4 |
2 |
content-box |
1 |
12 |
4 |
10.5 |
3 |
18 |
4 |
11 |
1 |
1.0 |
4 |
1 |
padding-box |
1 |
12 |
4 |
15 |
3 |
18 |
4 |
14 |
2 |
1.0 |
4.4 |
2 |
See also
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/background-origin