The background-origin
CSS property sets the background's origin: from the border start, inside the border, or inside the padding.
background-origin
Try it
Note that background-origin
is ignored when background-attachment
is fixed
.
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;
The background-origin
property is specified as one of the keyword values listed below.
Values
border-box
-
The background is positioned relative to the border box.
padding-box
-
The background is positioned relative to the padding box.
content-box
-
The background is positioned relative to the content box.
Formal definition
Initial value | padding-box |
---|---|
Applies to | all elements. It also applies to ::first-letter and ::first-line . |
Inherited | no |
Computed value | as specified |
Animation type | a repeatable list |
Formal syntax
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: #fff; 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, rgb(255 255 255 / 100%) 0%, rgb(0 0 0 / 100%) 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 | |
background-origin |
11Chrome accepts alternate synonyms to its values:padding , border , and content . |
1212Since Edge 79, accepts alternate synonyms to its values:padding , border , and content . |
4491–4Used the-moz-background-clip: padding | border syntax. |
10.515Opera accepts alternate synonyms to its values:padding , border , and content . |
33Webkit accepts alternate synonyms to its values:padding , border , and content . |
1818Chrome accepts alternate synonyms to its values:padding , border , and content . |
449 | 1114Opera accepts alternate synonyms to its values:padding , border , and content . |
11Webkit accepts alternate synonyms to its values:padding , border , and content . |
1.01.0Samsung Internet accepts alternate synonyms to its values:padding , border , and content . |
44WebView 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 |
content-box |
1 | 12 | 4 | 10.5 | 3 | 18 | 4 | 11 | 1 | 1.0 | 4 |
padding-box |
1 | 12 | 4 | 15 | 3 | 18 | 4 | 14 | 2 | 1.0 | 4.4 |
See also
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/background-origin