background-origin
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.
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
Specification |
---|
CSS Backgrounds and Borders Module Level 3 # the-background-origin |
Browser compatibility
BCD tables only load in the browser