aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/css/background-origin/index.md
blob: 74b19a3de66853e9d77a7eecd47a8b843330d7a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
---
title: background-origin
slug: Web/CSS/background-origin
tags:
  - CSS
  - CSS 背景
  - CSS プロパティ
  - リファレンス
  - recipe:css-property
browser-compat: css.properties.background-origin
translation_of: Web/CSS/background-origin
---
{{CSSRef}}

[CSS](/ja/docs/Web/CSS) の **`background-origin`** プロパティは、背景配置領域を境界の開始位置、境界の内部、パディングの内部から設定します。

{{EmbedInteractiveExample("pages/css/background-origin.html")}}

{{cssxref("background-attachment")}} が `fixed` のときは `background-origin` が無視されることに注意してください。

## 構文

```css
/* キーワード値 */
background-origin: border-box;
background-origin: padding-box;
background-origin: content-box;

/* グローバル値 */
background-origin: inherit;
background-origin: initial;
background-origin: revert;
background-origin: unset;
```

`background-origin` プロパティは、以下の一覧にあるキーワード値のうちの一つで指定します。

### 値

- `border-box`
  - : 背景は境界ボックスからの相対位置になります。
- `padding-box`
  - : 背景はパディングボックスからの相対位置になります。
- `content-box`
  - : 背景はコンテンツボックスからの相対位置になります。

## 公式定義

{{cssinfo}}

## 形式文法

{{csssyntax}}

## 例

### 背景画像の原点を設定

```css
.example {
  border: 10px double;
  padding: 10px;
  background: url('image.jpg');
  background-position: center left;
  background-origin: content-box;
}
```

```css
#example2 {
  border: 4px solid black;
  padding: 10px;
  background: url('image.gif');
  background-repeat: no-repeat;
  background-origin: border-box;
}
```

```css
div {
  background-image: url('logo.jpg'), url('mainback.png'); /* 背景に 2 つの画像を適用 */
  background-position: top right, 0px 0px;
  background-origin: content-box, padding-box;
}
```

<h3 id="Using_two_gradients">2 つのグラデーションの使用</h3>

この例では、ボックスに太い点線の境界線が付いています。最初のグラデーションでは、 `padding-box``background-origin` として使用しているため、背景は境界線の内側に表示されます。2 つ目のグラデーションは、`content-box`を使用しているため、コンテンツの後ろにのみ表示されます。

```css
.box {
  margin: 10px 0;
  color: #fff;
  background: linear-gradient(90deg, rgba(131,58,180,1) 0%, rgba(253,29,29,0.6) 60%, rgba(252,176,69,1) 100%),
  radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(0,0,0,1) 28%);
  border: 20px dashed black;
  padding: 20px;
  width: 400px;
  background-origin: padding-box, content-box;
  background-repeat: no-repeat;
}
```

```html
<div class="box">Hello!</div>
```

{{EmbedLiveSample('Using_two_gradients', 420, 140)}}

## 仕様書

{{Specifications}}

## ブラウザーの互換性

{{Compat}}

## 関連情報

- {{cssxref("background-clip")}}