背景
background-origin
background-origin は、背景画像を置く基準の範囲(枠線の外側・内側・中身)を指定します。
構文
<visual-box>#
<visual-box> = content-box | padding-box | border-boxプレビュー
プリセット
見本
右下の角をドラッグするとサイズを変えられます
コード
.box {
background-image: url(/sample.svg);
background-repeat: no-repeat;
border: 16px dashed rgb(31 41 55 / 0.3);
padding-block: 16px;
padding-inline: 16px;
background-origin: border-box;
}コントロール
background-originborder-box
解説
値の書き方
padding-box(初期値):枠線の内側を基準にします。画像は枠線のすぐ内側の角から置かれます。border-box:枠線の外側を基準にします。画像は枠線の下の角から置かれます。content-box:内側の余白を除いた、中身の範囲を基準にします。
このページのプレビューは、補助の宣言で見本の画像を 1 枚だけ敷き(繰り返さない)、16px の半透明の破線の枠線と、16px の内側の余白を付けています。background-position は初期値の左上なので、選んだ範囲の左上の角に画像が置かれます。
位置と大きさの基準が変わる
background-origin が変えるのは、background-position で置く位置と、background-size のパーセントの基準になる範囲です。画像を繰り返すときも、この範囲から並べ始めます。背景をどこまで描くかは background-clip が決めるので、border-box を選んでも、background-clip が padding-box なら枠線の下にはみ出した部分は切り取られます。
background-attachment: fixed の背景には効きません(画面全体が基準になります)。背景色には位置が無いので、background-origin は関係しません。
background ショートハンドでの書き方
background ショートハンドに箱のキーワードを 1 つだけ書くと、 background-origin と background-clip の両方がその値になります。2 つ書くと、1 つ目が background-origin、2 つ目が background-clip です。