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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
|
---
title: border-style
slug: Web/CSS/border-style
tags:
- CSS
- CSS プロパティ
- CSS 背景と境界
- Reference
- Web
- border
- border-style
- 一括指定プロパティ
translation_of: Web/CSS/border-style
---
<div>{{CSSRef}}</div>
<p> <strong><code>border-style</code></strong> は <a href="/ja/docs/Web/CSS/Shorthand_properties">一括指定</a> の <a href="/ja/docs/Web/CSS">CSS</a> プロパティで、要素の境界線の4辺すべての線のスタイルを設定します。</p>
<div>{{EmbedInteractiveExample("pages/css/border-style.html")}}</div>
<p class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</p>
<h2 id="Syntax" name="Syntax">構文</h2>
<pre class="brush: css no-line-numbers">/* キーワード値 */
border-style: none;
border-style: hidden;
border-style: dotted;
border-style: dashed;
border-style: solid;
border-style: double;
border-style: groove;
border-style: ridge;
border-style: inset;
border-style: outset;
/* 上下 | 左右 */
border-style: dotted solid;
/* 上 | 左右 | 下 */
border-style: hidden double dashed;
/* 上 | 右 | 下 | 左 */
border-style: none solid dotted dashed;
/* グローバル値 */
border-style: inherit;
border-style: initial;
border-style: unset;
</pre>
<p><code>border-style</code> プロパティは1つ、2つ、3つ、4つの値を使って指定することができます。</p>
<ul>
<li>値が<strong>1つ</strong>指定された場合、<strong>全4辺</strong>に同じスタイルが適用される。</li>
<li>値が<strong>2つ</strong>指定された場合、1つ目のスタイルは<strong>上下</strong>、2つ目は<strong>左右</strong>の辺に適用される。</li>
<li>値が<strong>3つ</strong>指定された場合、1つ目のスタイルは<strong>上</strong>、2つ目は<strong>左右</strong>、3つ目は<strong>下</strong>の辺に適用される。</li>
<li>値が<strong>4つ</strong>指定された場合、スタイルはそれぞれ<strong>上</strong>、<strong>右</strong>、<strong>下</strong>、<strong>左</strong>の順(時計回り)に適用される。</li>
</ul>
<p>それぞれの値は以下の一覧にあるキーワードです。</p>
<h3 id="Values" name="Values">値</h3>
<dl>
<dt><code><line-style></code></dt>
<dd>枠線のスタイルを表すキーワード。以下の値を使用できます。
<table class="standard-table">
<tbody>
<tr>
<td style="vertical-align: middle;"><code>none</code></td>
<td style="vertical-align: middle;">
<div style="margin: 0.5em; width: 3em; height: 3em; border-style: none; background-color: palegreen;">要素</div>
</td>
<td style="vertical-align: middle;"><code>hidden</code> キーワードと同様に、境界線を表示しません。 {{cssxref("background-image")}} を設定している場合を除き、プロパティで別に指定していても {{cssxref("border-width")}} の同じ辺の計算値は <code>0</code> になります。テーブルのセルで境界線が collasped 形式である場合は、 <code>none</code> 値はもっとも低い優先度になります。ほかに競合する境界線が設定されている場合も、そちらが表示されます。</td>
</tr>
<tr>
<td style="vertical-align: middle;"><code>hidden</code></td>
<td style="vertical-align: middle;">
<div style="margin: 0.5em; width: 3em; height: 3em; border-width: 3px; border-style: hidden; background-color: palegreen;">要素</div>
</td>
<td style="vertical-align: middle;"><code>none</code> キーワードと同様に、境界線を表示しません。 {{cssxref("background-image")}} を設定している場合を除き、プロパティで別に指定していても {{cssxref("border-width")}} の同じ辺の計算値は <code>0</code> になります。テーブルのセルで境界線が collasped 形式である場合は、 <code>hidden</code> 値はもっとも高い優先度になります。ほかに競合する境界線が設定されている場合も、非表示になります。</td>
</tr>
<tr>
<td style="vertical-align: middle;"><code>dotted</code></td>
<td style="vertical-align: middle;">
<div style="margin: 0.5em; width: 3em; height: 3em; border-width: 3px; border-style: dotted; background-color: palegreen;">要素</div>
</td>
<td style="vertical-align: middle;">連続した丸い点を表示します。点の間の空白の量は仕様書で定義されておらず、実装依存です。点の半径は、同じ辺の {{cssxref("border-width")}} の計算値の半分です。</td>
</tr>
<tr>
<td style="vertical-align: middle;"><code>dashed</code></td>
<td style="vertical-align: middle;">
<div style="margin: 0.5em; width: 3em; height: 3em; border-width: 3px; border-style: dashed; background-color: palegreen;">要素</div>
</td>
<td style="vertical-align: middle;">短く角が四角い連続したダッシュや線分を表示します。線分の実寸や長さは仕様書で定義されておらず、実装依存です。</td>
</tr>
<tr>
<td style="vertical-align: middle;"><code>solid</code></td>
<td style="vertical-align: middle;">
<div style="margin: 0.5em; width: 3em; height: 3em; border-width: 3px; border-style: solid; background-color: palegreen;">要素</div>
</td>
<td style="vertical-align: middle;">1本の直線、実線を表示します。</td>
</tr>
<tr>
<td style="vertical-align: middle;"><code>double</code></td>
<td style="vertical-align: middle;">
<div style="margin: 0.5em; width: 3em; height: 3em; border-width: 3px; border-style: double; background-color: palegreen;">要素</div>
</td>
<td style="vertical-align: middle;">2本の直線を表示し、幅の合計は {{cssxref("border-width")}} で定義したピクセル数になります。</td>
</tr>
<tr>
<td style="vertical-align: middle;"><code>groove</code></td>
<td style="vertical-align: middle;">
<div style="margin: 0.5em; width: 3em; height: 3em; border-width: 3px; border-style: groove; background-color: palegreen;">要素</div>
</td>
<td style="vertical-align: middle;">凹んだように見える境界線を表示します。 <code>ridge</code> の逆です。</td>
</tr>
<tr>
<td style="vertical-align: middle;"><code>ridge</code></td>
<td style="vertical-align: middle;">
<div style="margin: 0.5em; width: 3em; height: 3em; border-width: 3px; border-style: ridge; background-color: palegreen;">要素</div>
</td>
<td style="vertical-align: middle;">出っ張ったように見える境界線を表示します。 <code>groove</code> の逆です。</td>
</tr>
<tr>
<td style="vertical-align: middle;"><code>inset</code></td>
<td style="vertical-align: middle;">
<div style="margin: 0.5em; width: 3em; height: 3em; border-width: 3px; border-style: inset; background-color: palegreen;">要素</div>
</td>
<td style="vertical-align: middle;">要素が埋め込まれて見える境界線を表示します。 <code>outset</code> の逆です。 {{cssxref("border-collapse")}} が <code>collapsed</code> に設定されたテーブルのセルに適用すると、この値は <code>groove</code> のようにふるまいます。</td>
</tr>
<tr>
<td style="vertical-align: middle;"><code>outset</code></td>
<td style="vertical-align: middle;">
<div style="margin: 0.5em; width: 3em; height: 3em; border-width: 3px; border-style: outset; background-color: palegreen;">要素</div>
</td>
<td style="vertical-align: middle;">
<p>要素が出っ張って見える境界線を表示します。 <code>inset</code> の逆です。 {{cssxref("border-collapse")}} を <code>collapsed</code> に設定したテーブルセルに適用すると、この値は <code>ridge</code> のようにふるまいます。</p>
</td>
</tr>
</tbody>
</table>
</dd>
</dl>
<h3 id="Formal_syntax" name="Formal_syntax">形式文法</h3>
{{csssyntax}}
<h2 id="Examples" name="Examples">例</h2>
<h3 id="Table_with_all_property_values" name="Table_with_all_property_values">プロパティのすべての値を指定したテーブル</h3>
<p>プロパティのすべての値のサンプルです。</p>
<h4 id="HTML">HTML</h4>
<pre class="brush: html"><table>
<tr>
<td class="b1">none</td>
<td class="b2">hidden</td>
<td class="b3">dotted</td>
<td class="b4">dashed</td>
</tr>
<tr>
<td class="b5">solid</td>
<td class="b6">double</td>
<td class="b7">groove</td>
<td class="b8">ridge</td>
</tr>
<tr>
<td class="b9">inset</td>
<td class="b10">outset</td>
</tr>
</table></pre>
<h4 id="CSS">CSS</h4>
<pre class="brush: css">/* テーブルの外見を定義 */
table {
border-width: 3px;
background-color: #52E396;
}
tr, td {
padding: 2px;
}
/* border-style の例示用クラス */
.b1 {border-style:none;}
.b2 {border-style:hidden;}
.b3 {border-style:dotted;}
.b4 {border-style:dashed;}
.b5 {border-style:solid;}
.b6 {border-style:double;}
.b7 {border-style:groove;}
.b8 {border-style:ridge;}
.b9 {border-style:inset;}
.b10 {border-style:outset;}</pre>
<h4 id="Result" name="Result">結果</h4>
<p>{{EmbedLiveSample('Table_with_all_property_values', 300, 200)}}</p>
<h2 id="Specifications" name="Specifications">仕様書</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">仕様書</th>
<th scope="col">状態</th>
<th scope="col">備考</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{SpecName('CSS3 Backgrounds', '#border-style', 'border-style')}}</td>
<td>{{Spec2('CSS3 Backgrounds')}}</td>
<td>変更なし。</td>
</tr>
<tr>
<td>{{SpecName('CSS2.1', 'box.html#propdef-border-style', 'border-style')}}</td>
<td>{{Spec2('CSS2.1')}}</td>
<td><code>hidden</code> キーワードを追加。</td>
</tr>
<tr>
<td>{{SpecName('CSS1', '#border-style', 'border-style')}}</td>
<td>{{Spec2('CSS1')}}</td>
<td>初回定義</td>
</tr>
</tbody>
</table>
<p>{{cssinfo}}</p>
<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2>
<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div>
<p>{{Compat("css.properties.border-style")}}</p>
<h2 id="See_also" name="See_also">関連情報</h2>
<ul>
<li>境界に関する CSS 一括指定プロパティ: {{Cssxref("border")}}, {{Cssxref("border-width")}}, {{Cssxref("border-color")}}, {{Cssxref("border-radius")}}</li>
</ul>
|