【初心者必見!】vertical-alignの意味や使い方を徹底解説

テキストや画像の縦方向の揃え位置を指定するvertical-align

意味や役割はなんとなくわかるけど、詳しい使い方を知らない人も多いでしょう。

・vertical-alignってどんなプロパティ?
・正しい使い方がわからない・・・。
・text-alignとの違いは?

こんな疑問を持っていませんか?

今回は、vertical-alignの

・基本的な使い方
・text-alignとの違い
・ブロック要素にvertical-alignを指定する方法

について説明します。

vertical-alignとは

vertical-alignとはどういったプロパティなのか、詳しく知らない人も多いのではないでしょうか?

なのでここでは、vertical-alignの意味や役割について解説していきます。

vertical-alignの読み方

vertical-alignは「バーティカル・アライン」と読みます。

「vertical」は「垂直線・垂直位置」という意味があり、「align」は「並べる・整列させる」という意味があります。

CSSでは、この「vertical-align」を縦方向の揃え位置という意味で使われています。

例えば、サイト内の文章や画像の縦方向の位置を調整して、見やすくしたいときに使われることが多いです。

vertical-alignは縦方向の揃え位置を指定するプロパティ

vertical-alignは縦方向の揃え位置を指定するプロパティです。

vertical-alignはインライン要素もしくはテーブルセルにだけ指定することができ、縦方向の揃え位置を調整することができます。

注意
ブロック要素にvertical-alignを指定することはできません。

指定できる値は、top、middle、bottomなどの他に、数値px、emやパーセントで指定することも可能です。

ただ、text-topやtext-bottom、super、subなどの値はテーブルセルに指定することができないので、覚えておきましょう。

vertical-alignで利用できる値

vertical-alignでは以下の値を使うことができます。

説明
baseline 要素のベースラインを親要素のベースラインに揃えます。textareaのような、一部の置換要素のベースラインはHTML仕様で未定義であり、このため、このキーワードの挙動はブラウザにより異なるかもしれません。
sub 要素のベースラインを親要素のsubscript-baselineに揃えます。
super 要素のベースラインを親要素のsuperscript-baselineに揃えます。
text-top 要素の上端を親要素のフォントの上端に揃えます。
text-bottom 要素の下端を親要素のフォントの下端に揃えます。
middle 要素の中央を親要素のbaseline + x-heightの半分に揃えます。
length 要素のベースラインを、親要素のベースラインの指定値分上に揃えます。負の値を使えます。
percentage 値と似ていますが、line-heightプロパティに対するパーセンテージで指定します。負の値を使えます。
top 要素と子孫要素の上端を行全体の上端に揃えます。
bottom 要素と子孫要素の下端を行全体の下端に揃えます。

対応ブラウザ

対応ブラウザは以下の通りです。

PC用ブラウザ 対応状況
Chrome 完全対応
Edge 完全対応
Firefox 完全対応
Internet Explorer 完全対応
Opera 完全対応
Safari 完全対応
スマートフォン用ブラウザ 対応状況
Android webview 完全対応
Android版Chrome 完全対応
Android版Firefox 完全対応
Android 版 Opera 完全対応
iOS版Safari 完全対応
Samsung Internet 完全対応

vertical-alignの基本的な使い方

vertical-alignの意味や役割についてわかりました。

なのでここでは、vertical-alignの使い方を解説していきます。

まだ使い方を知らない人は、しっかりと理解していきましょう。

vertical-alignの使い方

キーワードの使い方をここで説明して下さい。

ブロック要素であるdivタグの中に、インライン要素のspanタグを用意します。

そして、そのspanタグにそれぞれvertical-alignで値を指定してみましょう。

結果を表示すると次のようになります。

※配置の場所が見やすいように、背景色をつけています。

それぞれの値によって配置が異なっているのがわかりますね。

topとtext-top、bottomとtext-bottomは混同しやすいので注意しましょう。

textとついているものはフォントの一番上と下の部分を指し、topとbottomは行の一番上と下の部分を指します。

このようにvertical-alignは縦方向の揃え位置を調整することができるので、使い方を覚えておくといいでしょう。

vertical-alignとtext-alignの違い

vertical-alignとよく似たプロパティで、text-alignというものがあります。

text-alignとは、ブロック要素内で行の揃え位置を指定するプロパティです。

vertical-alignは縦方向の揃え位置ですが、text-alignは横方向の揃え位置になります。

実際にコードで使い方を見ていきましょう。

text-alignは行の配置を「left」「center」「right」などの位置に指定することができます。

今回は、pタグでテキストを入れて「text-align: center;」と指定しました。

結果を表示すると、次のようになるでしょう。

テキストが中央揃えに配置されていますね。

このようにtext-alignは横方向の揃え位置を指定することができます。

rightやleftで右揃え、左揃えにもできるので、使い方を覚えておきましょう。

ブロック要素にvertical-alignを指定する方法

ここまでで、vertical-alignの基本的な使い方がわかりました。

vertical-alignはインライン要素かテーブルセルにしか指定できないと説明しましたが、実はブロック要素にも指定できる方法があります。

なのでここでは、ブロック要素にvertical-alignを指定する方法について解説していきます。

ブロック要素をtable-cellに変更する

まずは、ブロック要素をtable-cellに変更する方法です。

ブロック要素をtable-cellに変更するには、display: table-cell;と指定します。

実際に使い方をコードで見ていきましょう。

高さが100pxのdivタグの中にサンプルテキストのpタグがあったとします。

何も指定しない状態で表示すると、pタグはdivタグの中の一番上に表示されます。

しかし、divタグに「display: table-cell;」と指定し、「vertical-align: middle;」としてみましょう。

結果は次のように表示されるはずです。

テキストがdivタグの中の中央に配置されているのがわかりますね。

このように、ブロック要素であってもtable-cellに変更すれば、vertical-alignを指定することができます。

なので、使い方を覚えておくといいでしょう。

ブロック要素をinline-blockに変更する

今度は、ブロック要素をinline-blockに変更する方法です。

ブロック要素をinline-blockに変更するにはdisplay: inline-block;と指定します。

実際に使い方をコードで見ていきましょう。

今回は、高さの違うdivタグを3つ用意しました。

そして、それぞれに「display: inline-block;」「vertical-align: middle;」と指定します。

結果を表示して、確認してみましょう。

それぞれのdivタグが中央に配置されていますね。

このようにブロック要素をinline-blockに変更することで、vertical-alignを指定できるようになります。

なので、使い方を覚えておきましょう。

まとめ

今回は、vertical-alignの意味や使い方について詳しく解説しました。

vertical-alignはテキストや画像の縦方向の揃え位置を指定するプロパティです。 

サイトの文章を見やすく、読みやすくする際にとても役立つプロパティなので、使い方を覚えておくといいでしょう。

この記事がvertical-alignの学習に役立つと幸いです。

参考文献:MDN web docs|vertical-align – CSS:カスケーディングスタイルシート

BLOGコンテンツをパーソナライズします

あなたは現在「プログラミング学習者」ですか?