インライン要素またはテーブルのセル要素に指定することで、その親要素または行に対する垂直位置を変更できます。
値 | 揃える位置 | 基準となる位置 | 備考 |
---|---|---|---|
baseline | 要素の基準線 (baseline) | 親要素のbaseline | 既定値 |
super | 要素の基準線 (baseline) | 親要素のsuperscript-baseline | sup要素に類似 |
sub | 要素の基準線 (baseline) | 親要素のsubscript-baseline | sub要素に類似 |
text-top | |||
text-bottom | |||
長さ | |||
割合 | |||
middle | 要素の中央 | 親要素の基準線に高さの半分を加えた位置 | |
top | 要素と子孫要素の上端 | 行全体の上端 | |
bottom | 要素と子孫要素の下端 | 行全体の下端 |
<div> <span style="font-size: 1em">1em</span> <span style="vertical-align: top">top</span> <span style="vertical-align: middle">middle</span> <span style="vertical-align: bottom">bottom</span> </div>
<div> <span style="font-size: 3em">3em</span> <span style="vertical-align: top">top</span> <span style="vertical-align: middle">middle</span> <span style="vertical-align: bottom">bottom</span> </div>
サンプルコード | 適用例 |
---|---|
<img src="sample.png" /> A(未指定) |
A |
<img style="vertical-align: top" src="x.png" /> A |
A |
<img style="vertical-align: middle" src="x.png" /> A |
A |
bottomを指定することで、font-sizeの異なるテキストのボックス位置をそろえられます。ただしこの方法では、テキストの位置がそろわなくなります。
<span style="font-size:1em; vertical-align: bottom">ABC</span> <span style="font-size:2em; vertical-align: bottom">ABC</span> <span style="font-size:3em; vertical-align: bottom">ABC</span>
未指定 (baseline) | ABC ABC ABC |
---|---|
bottom | ABC ABC ABC |
親要素がdisplay属性でinline-blockとされていると、その子要素には上下が反転して適用されることがあります。
<div style="display: inline-block"> <span style="vertical-align: top">top</span> </div>
これはtd要素のvalign属性を、CSSで実現するものです。
<td style="vertical-align: middle">
値 | |
---|---|
baseline (sub、super、text-top、text-bottom、長さ、割合) | |
top | |
middle | |
bottom |
baseline | top | middle | bottom |
---|---|---|---|
A | A | A | A |
baseline | top | middle | bottom |
---|---|---|---|
A | A | A | A |