gorogoronyan FC2

CSS: vertical-align

概略

vertical-align はテキストや img などの縦位置の調整で出てきます。 また、button タグや input タグなどのコントロール要素とテキストの縦位置を調整するときにも出てきます。

例: button タグで画像のボタンとテキストのボタンがずれる
例: button タグで画像のボタンとテキストのボタンがずれる
例: テキストとスライダーの縦位置の調整
例: テキストとスライダーの縦位置の調整

vertical-align は inline, inline-block の要素や table の td に対して指定します。 block 要素 (div や p など) に vertical-align を指定しても作用しません。
CSS display: inline, block, inline-block など

● タグ (要素) と display の初期値

display: inline;       : テキスト, span タグ, b タグなど
display: inline-block; : img タグ
display: block;        : div, p, figure など

補足: table の td は display: table-cell という特殊な値になっています。

baseline と bottom は異なる

ベースライン (baseline) は欧文などのフォントで出てくる特有の話で、 日本語の文字では出てこないので分かりにくい話です。 テキストや span タグや img タグなどの vertical-align は初期設定では baseline になっています。 baseline とボトム (bottom) では縦の位置が異なります。 img の画像の下にすき間ができるといった話も bottom と baseline の違いが関係しています。bottom と baseline の差がすき間となって現れます。

赤線が baseline で descent が bottom 付近
赤線が baseline で descent が bottom 付近

サンプル

img タグ

TestHTML_img_gap01.html
画像の周囲に余白ができる理由と対処方法。
img タグだけ並べる
HTML: 改行を表す文字コード
TestHTML_img_vertical_align02.html
img 要素に vertical-align を指定した場合。
img タグ: (2) 画像を並べる
TestHTML_img_a_hover01.html
vertical-align: bottom; で img の下側に不要な効果がかからないようにする。

button タグ、input タグ

TestCSS_button_vertical_align01.html
画像のボタンとテキストのボタンを並べると縦の位置がずれるので、 vertical-align を設定します。
button タグ
TestCSS_vertical_align_input01.html
スライダー (input type="range") とテキストを並べるサンプル。 vertical-align: middle; でスライダーの縦位置を揃える。
input タグ: type="range" スライダー

table タグ

TestHTML_table_td_text_align01.html
table タグの td の vertical-align のサンプル。
vertical-align:上寄せ、上下中央、下寄せ
table タグ

関連

inserted by FC2 system