CSSで、縦方向の行揃えを指定するvertical-alignプロパティに関する解説です。
vertical-alignプロパティは、縦方向の行揃えを指定するプロパティです。
vertical-alignプロパティの書式は、以下のようになります。
vertical-align: 値
値としては、以下のものが取れます。
inherit以下のキーワードから、必要なものを撰んで指定します。
baseline親要素のベースラインに自らのベースラインを合わせます。(デフォルト)
middle親要素のベースラインより"x"の高さの分だけ上の位置に自らの中心を合わせます。
中央を合わせると解説されますが、正式な仕様は上記の通りです。
subsuper上付き文字として適切な位置に上げます。
vertical-align: super;プロパティとなります。text-toptext-bottomtopbottom尚、表(テーブル)のコマ要素(displayプロパティにtable-cell値が与えられた要素)の場合は、以下のように解釈が変わります。
baselinetopbottommiddleその他の値を指定した場合、ベースラインに合わせるものとします。
例えば、HTMLの<img>要素において、画像の下辺を行の下辺に揃えたい場合は、
img {vertical-align: bottom;}
と記述します。
CSS第二水準(CSS 2)では、caption-sideプロパティの仕様において、vertical-alignプロパティの併用を示唆しておりました。
caption-sideプロパティを用いる事で、表(テーブル)の表題を当該表(テーブル)の横に配置する事が認められておりました。
この場合、内容テキストを表(テーブル)に対して上下方向にどう揃えるかと言う問題があり、そのためにvertical-alignプロパティを併用する事とされておりました。
しかしながら、表(テーブル)の表題はdisplayプロパティにtable-caption値が与えられた要素であり、vertical-alignプロパティを適用出来る要素ではありません。
このような矛盾があったためか、CSS第二水準第一改訂版(CSS 2.1)ではcaption-sideプロパティから横方向への配置を指定するプロパティ値が削除されました。
パーセンテージや数値の実装は、余り正確とは言えないようです。
特にファイアーフォックスの2.0までは、vertical-alignプロパティは正常に機能しません。
WAP 2.0では、vertical-alignプロパティには以下の値のみが定義されております。
しかしながら、オープンウェーヴ社のWAP 2.0 ウェブブラウザには他のキーワード値も実装されております。