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
247
248
249
250
251
252
253
254
|
---
title: vertical-align
slug: Web/CSS/vertical-align
tags:
- CSS
- CSS プロパティ
- Reference
translation_of: Web/CSS/vertical-align
---
<div>{{CSSRef}}</div>
<p><strong><code>vertical-align</code></strong> は <a href="/ja/docs/Web/CSS">CSS</a> のプロパティで、インラインボックス、インラインブロック、表セルボックスの垂直方向の配置を設定します。</p>
<div>{{EmbedInteractiveExample("pages/css/vertical-align.html")}}</div>
<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div>
<p>vertical-align は、2 つの場面で使用することができます。</p>
<ul>
<li>行ボックスの中でインライン要素の縦方向の整列方法を決める場合。例えば、テキストの行の中で {{HTMLElement("img")}} の縦方向の位置を決めるために使います。</li>
</ul>
<div id="vertical-align-inline">
<pre class="hidden brush: html notranslate"><p>
top:<img style="vertical-align:top" src="https://mdn.mozillademos.org/files/15189/star.png"/>
middle:<img style="vertical-align:middle" src="https://mdn.mozillademos.org/files/15189/star.png"/>
bottom:<img style="vertical-align:bottom" src="https://mdn.mozillademos.org/files/15189/star.png"/>
super:<img style="vertical-align:super" src="https://mdn.mozillademos.org/files/15189/star.png"/>
sub:<img style="vertical-align:sub" src="https://mdn.mozillademos.org/files/15189/star.png"/>
</p>
<p>
text-top:<img style="vertical-align:text-top" src="https://mdn.mozillademos.org/files/15189/star.png"/>
text-bottom:<img style="vertical-align:text-bottom" src="https://mdn.mozillademos.org/files/15189/star.png"/>
0.2em:<img style="vertical-align:0.2em" src="https://mdn.mozillademos.org/files/15189/star.png"/>
-1em:<img style="vertical-align:-1em" src="https://mdn.mozillademos.org/files/15189/star.png"/>
20%:<img style="vertical-align:20%" src="https://mdn.mozillademos.org/files/15189/star.png"/>
-100%:<img style="vertical-align:-100%" src="https://mdn.mozillademos.org/files/15189/star.png"/>
</p>
</pre>
<pre class="hidden brush: css notranslate">#* {
box-sizing: border-box;
}
img {
margin-right: 0.5em;
}
p {
height: 3em;
padding: 0 .5em;
font-family: monospace;
text-decoration: underline overline;
margin-left: auto;
margin-right: auto;
width: 80%;
}
</pre>
</div>
<p>{{EmbedLiveSample("vertical-align-inline", 1200, 120, "", "", "example-outcome-frame")}}</p>
<ul>
<li>表内のセルの内容を垂直方向に整列する場合</li>
</ul>
<div id="vertical-align-table">
<pre class="hidden brush: html notranslate"><table>
<tr>
<td style="vertical-align: baseline">baseline</td>
<td style="vertical-align: top">top</td>
<td style="vertical-align: middle">middle</td>
<td style="vertical-align: bottom">bottom</td>
<td>
<p>There is a theory which states that if ever anyone discovers exactly what the Universe is for and why it is here, it will instantly disappear and be replaced by something even more bizarre and inexplicable.</p>
<p>There is another theory which states that this has already happened.</p>
</td>
</tr>
</table>
</pre>
<pre class="hidden brush: css notranslate">table {
margin-left: auto;
margin-right: auto;
width: 80%;
}
table, th, td {
border: 1px solid black;
}
td {
padding: 0.5em;
font-family: monospace;
}
</pre>
</div>
<p>{{EmbedLiveSample("vertical-align-table", 1200, 210, "", "", "example-outcome-frame")}}</p>
<p><code>vertical-align</code> はインライン要素、インラインブロック要素、表セル要素だけに適用できることに注意してください。つまり、<a href="/ja/docs/Web/HTML/Block-level_elements">ブロックレベル要素</a>の縦方向の整列には使えないのです。</p>
<h2 id="Syntax" name="Syntax">構文</h2>
<pre class="brush: css no-line-numbers notranslate">/* キーワード値 */
vertical-align: baseline;
vertical-align: sub;
vertical-align: super;
vertical-align: text-top;
vertical-align: text-bottom;
vertical-align: middle;
vertical-align: top;
vertical-align: bottom;
/* <length> 値 */
vertical-align: 10em;
vertical-align: 4px;
/* <percentage> 値 */
vertical-align: 20%;
/* グローバル値 */
vertical-align: inherit;
vertical-align: initial;
vertical-align: unset;
</pre>
<p><code>vertical-align</code> プロパティは、以下の値のうち一つで指定します。</p>
<h3 id="Values_for_inline_elements" name="Values_for_inline_elements">インライン要素用の値</h3>
<h4 id="Parent-relative_values" name="Parent-relative_values">親要素との相対値</h4>
<p>以下の値は、親要素に対しての縦方向の整列方法を表します。</p>
<dl>
<dt><code>baseline</code></dt>
<dd>要素のベースラインを親要素のベースラインに揃えます。 {{HTMLElement("textarea")}} のような、一部の <a href="/ja/docs/Web/CSS/Replaced_element">置換要素</a> のベースラインは HTML 仕様で未定義であり、このため、このキーワードの挙動はブラウザにより異なるかもしれません。</dd>
<dt><code>sub</code></dt>
<dd>要素のベースラインを親要素の subscript-baseline に揃えます。</dd>
<dt><code>super</code></dt>
<dd>要素のベースラインを親要素の superscript-baseline に揃えます。</dd>
<dt><code>text-top</code></dt>
<dd>要素の上端を親要素のフォントの上端に揃えます。</dd>
<dt><code>text-bottom</code></dt>
<dd>要素の下端を親要素のフォントの下端に揃えます。</dd>
<dt><code>middle</code></dt>
<dd>要素の中央を親要素の <code>baseline + x-height の半分</code> に揃えます。</dd>
<dt>{{cssxref("<length>")}}</dt>
<dd>要素のベースラインを、親要素のベースラインの指定値分上に揃えます。負の値を使えます。</dd>
<dt>{{cssxref("<percentage>")}}</dt>
<dd><length> 値と似ていますが、{{Cssxref("line-height")}} プロパティに対するパーセンテージで指定します。負の値を使えます。</dd>
</dl>
<h4 id="Line-relative_values" name="Line-relative_values">行との相対値</h4>
<p>以下の値は、親要素ではなく、行全体に対しての縦方向の整列方法を表します。</p>
<dl>
<dt><code>top</code></dt>
<dd>要素と子孫要素の上端を行全体の上端に揃えます。</dd>
<dt><code>bottom</code></dt>
<dd>要素と子孫要素の下端を行全体の下端に揃えます。</dd>
</dl>
<p>ベースラインを持たない要素では、代わりにマージン境界の下端が使われます。</p>
<h3 id="Values_for_table_cells" name="Values_for_table_cells">表セル用の値</h3>
<dl>
<dt><code>baseline</code> (および <code>sub</code>, <code>super</code>, <code>text-top</code>, <code>text-bottom</code>, <code><length></code>, <code><percentage></code>)</dt>
<dd>セルのベースラインを、行内でベースライン揃えにされた他のすべてのセルのベースラインに揃えます。</dd>
<dt><code>top</code></dt>
<dd>セルの上端のパディング境界を行の上端に揃えます。</dd>
<dt><code>middle</code></dt>
<dd>セルのパディングボックスが行の中央になるようにします。</dd>
<dt><code>bottom</code></dt>
<dd>セルの下端のパディング境界を行の下端に揃えます。</dd>
</dl>
<p>負の値を使用することができます。</p>
<h2 id="Formal_definition" name="Formal_definition">公式定義</h2>
<p>{{CSSInfo}}</p>
<h2 id="Formal_syntax" name="Formal_syntax">形式文法</h2>
{{csssyntax}}
<h2 id="Example" name="Example">例</h2>
<h3 id="Basic_example" name="Basic_example">基本的な例</h3>
<h4 id="HTML">HTML</h4>
<pre class="brush: html notranslate"><div>An <img src="https://mdn.mozillademos.org/files/12245/frame_image.svg" alt="link" width="32" height="32" /> image with a default alignment.</div>
<div>An <img class="top" src="https://mdn.mozillademos.org/files/12245/frame_image.svg" alt="link" width="32" height="32" /> image with a text-top alignment.</div>
<div>An <img class="bottom" src="https://mdn.mozillademos.org/files/12245/frame_image.svg" alt="link" width="32" height="32" /> image with a text-bottom alignment.</div>
<div>An <img class="middle" src="https://mdn.mozillademos.org/files/12245/frame_image.svg" alt="link" width="32" height="32" /> image with a middle alignment.</div>
</pre>
<h4 id="CSS">CSS</h4>
<pre class="brush: css notranslate">img.top { vertical-align: text-top; }
img.bottom { vertical-align: text-bottom; }
img.middle { vertical-align: middle; }
</pre>
<h4 id="Result" name="Result">Result</h4>
<p>{{EmbedLiveSample("Basic_example")}}</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('CSS2.1', 'visudet.html#propdef-vertical-align', 'vertical-align')}}</td>
<td>{{Spec2('CSS2.1')}}</td>
<td>{{cssxref("<length>")}} 値を追加し、 {{cssxref("display")}} が <code>table-cell</code> である要素で使えるようにした。</td>
</tr>
<tr>
<td>{{SpecName('CSS1', '#vertical-align', 'vertical-align')}}</td>
<td>{{Spec2('CSS1')}}</td>
<td>初回定義</td>
</tr>
</tbody>
</table>
<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.vertical-align")}}</p>
<h2 id="See_also" name="See_also">関連情報</h2>
<ul>
<li><a href="/ja/docs/Web/CSS/CSS_Flexible_Box_Layout/Typical_Use_Cases_of_Flexbox#Center_item">フレックスボックスの典型的な使用例の「アイテムの中央揃え」の節</a></li>
<li>{{Cssxref("line-height")}}, {{Cssxref("text-align")}}, {{Cssxref("margin")}}</li>
<li><a href="http://phrogz.net/css/vertical-align/index.html">Understanding <code>vertical-align</code>, or "How (Not) To Vertically Center Content"</a></li>
<li><a href="https://christopheraue.net/design/vertical-align">Vertical-Align: All You Need To Know</a></li>
</ul>
|