%cellvalign;

valign 属性 (HTML)

[1] HTML の要素型 tbody, thead, tfoot, colgroup, col, tr, th, td で定義されている valign 属性は、 こま内でのデータの位置を指定します。

[9]

要素型
tbody, thead, tfoot, colgroup, col, tr, th, td
名前空間URI
null
局所名
valign
属性値
列挙型 >>5
既定値
middle (継承もあり)

代替

[2] この属性は HTML 4 では非推奨とされてはいませんが、 スタイル・シートを使って指定するべきでしょう。

[3] CSS では vertical-align 特性などが使えます。

属性値

[5] この属性は列挙型です。

属性値説明
topデータは上にあわせて流す
middleデータは垂直中央になるように流す
bottomデータは下にあわせて流す
baseline文データは最初の文行 (line) 基線が同じ表行 (row) で一致するように配置 (2文行 (line) 目以降は無制約)

[6] HTML 4 DTD 的には既定値はありません。 HTML 4 仕様書によれば既定値は middle です。

一方で上位要素からの継承規則があります。 (継承しても得られないときの既定値が middle なのでしょうか?) 継承規則については %cellvalign の説明をみてください。

%cellvalign 属性集合 (HTML 4)

[11] HTML 4DTD で定義されている引数実体 %cellvalign は、 こま内の垂直方向の揃え位置に関する1つの属性を含んでいます。

属性名説明
valign揃え位置

仕様書: HTML 4 <IW:HTML4:"struct/tables.html#alignment">

[14] この属性集合は HTML の要素型 tbody, thead, tfoot, colgroup, col, tr, th, td で参照されています。

[15] 姉妹属性集合 %cellhalign というのもあります。

継承

[16] では、 valign, dir, lang の3つの属性は、直接指定がなければ次の優先順で上位要素から継承します。

  1. こまのデータ内の要素 (例: p) の指定
  2. こまの要素 (th または td) の指定
  3. 行群要素 (tr または theadtbodytfoot) の指定
    • またぎ (rowspan1) こまでは、最初のこま位置が所属する行・行群から継承
  4. 列群要素 (col または colgroup) の指定
    • またぎ (colspan1) こまでは、最初のこま位置が所属する列・列群から継承
  5. 表 (table) の指定
  6. 既定値

仕様書: HTML 4 Inheritance of alignment specifications <IW:HTML4:"struct/tables.html#alignment-inheritance">

[17] HTML 4 仕様書では style 属性も >>16 の規則で継承することになっていますが・・・。

[18] %cellhalign と継承規則はほとんど同じですが、行と列の優先順序が逆です。

歴史

SGML としての HTML

[7] HTML4 までの SGML として定義されていた仕様に従えば属性名は省略できるはずでしたが、 現実のWWWブラウザ属性名対応していませんでした。

属性集合

[4] この属性は HTML 4 DTD では属性集合 %cellvalign; に属していました。

非推奨説

[10] HTML を解説した Webサイトの中には、 この属性HTML 4XHTML 1.0非推奨とされていると説明しているものがありますが、 事実に反します。

[13] HTML 4.0勧告が出版された時点では CSS 2勧告されていなかったので、 CSS 1 で扱えない系の書式指定属性のほとんどが非推奨にはなっていません。

関連

[12] MathMLmath 要素には altimg 属性に対する altimg-valign 属性があり、 HTMLvalign 属性と似ていますが、構文的には違っています。