Updated / Published

col要素(table column)は table要素内で用いて、表の横列に対してまとめて横幅やテキストの揃え方の属性を指定したり、スタイルシート(CSS)での見栄えの調節を一括で行えるようにします。終了タグはなく、内容をもたない空要素です。

col要素にはグループ化という意味はないので、この要素自身は見栄えに関することををまとめて調整するだけで特に意味を持っていません。列をグループに分けて表の構造をはっきりさせ、グループごとに属性やCSSでスタイルをまとめて指定をする場合はcolgroup要素を使用します。col要素はcolgroup要素内でも、またはtable要素の子要素として col要素だけでも定義できます。

バージョン
  • HTML4.01(S,T,F)
  • XHTML1.0(S,T,F)
  • XHTML1.1
要素分類
開始タグ
必須
終了タグ
なし
非推奨
-
内容モデル
-

align属性

バージョン
  • HTML4.01(S,T,F)
  • XHTML1.0(S,T,F)
  • XHTML1.1
指定要素
必須
-
非推奨
-
属性値
  • left
  • right
  • center
  • justify
  • char

col要素でまとめたセルに含まれる内容の幅寄せや、テキストの桁揃えを指定します。行揃えの初期値は、td要素は "left" に 、th要素は "center"(Firefox は "left")になっています。値には次の5つのキーワードがあります。キーワードは半角アルファベットの大文字・小文字が区別されません(case-insensitive)。

left
内容とテキストを左揃えで表示する
right
内容とテキストを右揃えにする
center
内容とテキストを中央揃えにする
justify
文字を均等に配置し、テキストを両端揃えで表示する
char
char属性で指定した特定の文字を基準に揃えて表示する

align属性が有効なのは Internet Explorer のみです。HTML4.01, XHTML1.0, XHTML1.1のいずれにおいてもalign属性は非推奨ではありませんでしたが、HTML5ではcol要素のalign属性は廃止されました。本機能はCSSで代替することが推奨されており、td要素, th要素をセレクタtext-alignプロパティを指定することで同様の表現ができます。

char属性

バージョン
  • HTML4.01(S,T,F)
  • XHTML1.0(S,T,F)
  • XHTML1.1
指定要素
必須
-
非推奨
-
属性値
小数点

align属性の値に "char" を指定した場合にセル内の位置揃えの軸となる文字を指定します。たとえば、日本語や英語であればピリオド(.)、フランス語であればカンマ(,)のように lang属性XHTML では xml:lnag属性)で指定した言語に対応する小数点を指定することが可能です。"<col align="char" char=".">" のように指定すれば、セル内の文字がピリオド(.)に合わせて揃えられることが期待されます。

仕様においてchar属性は、 UAは必ずしもこの機能をサポートする必要はないと定められています。このためchar属性を現状サポートするUAはなく、また、HTML5ではcol要素のchar属性は廃止されることになりました。

charoff属性

バージョン
  • HTML4.01(S,T,F)
  • XHTML1.0(S,T,F)
  • XHTML1.1
指定要素
必須
-
非推奨
-
属性値
  • 整数(pixels)
  • パーセンテージ値(%)

char属性により位置揃えが指定された場合、charoff属性でその文字から水平方向にどの位置までずらして表示するかを指定します。たとえば、小数点以下2桁で揃えたい場合は、"<col align="char" char="." charoff="2">" と指定します。

また、文字揃えの際にずらす方向は dir属性による書字方向に依存します。dir属性の値が "ltr" の場合、左の余白からずれます。dir属性の値が "rtl" の場合、右の余白からずれます。

仕様においてcharoff属性は、 UAは必ずしもこの機能をサポートする必要はないと定められています。このためcharoff属性を現状サポートするUAはなく、また、HTML5ではcol要素のcharoff属性は廃止されることになりました。

span属性

バージョン
  • HTML4.01(S,T,F)
  • XHTML1.0(S,T,F)
  • XHTML1.1
指定要素
必須
-
非推奨
-
属性値
整数("1"以上)

col要素でまとめる列数を "1" 以上の整数で指定します。まとめた列は col要素で定義した全ての属性を共有します。初期値は "1" です。

width属性

バージョン
  • HTML4.01(S,T,F)
  • XHTML1.0(S,T,F)
  • XHTML1.1
指定要素
必須
-
非推奨
-
属性値
  • 整数(pixels)
  • パーセンテージ値(%)
  • 相対比率(*)

col要素でまとめるセルの各幅を指定します。span属性の値に "2" 以上が指定された場合は複数の列のセル幅がそれぞれ width属性で指定された横幅で表示されます。Safari, Chromeでは span属性の値に "2" 以上が指定されると、width属性の指定は無効になります。col要素の width属性は非推奨ではありませんが、CSSの widthプロパティで同様の表現に代替できます。

width属性に指定できる値はMultiLengthとなっています。これは整数(ピクセル数で解釈)、パーセンテージ値(%)の他に相対比率を指定することが可能であることを意味します。整数はピクセル数による固定、パーセンテージ値(%)は表示域の横幅に対する割合です。そして相対比率の指定とは、分割可能なセルについて、アスタリスク(*)のついた整数の比率に従って分配します。値が "*" の場合、これは "1*" として計測します。たとえば、整数指定のピクセル値とパーセント値を割り当て終え、残り 60px分の横幅の指定が可能で、"<col width="*"><col width="2*"><col width="3*">" と分配した場合、1番目の "*" には 10px, 2番目の "2*" には 20px, "3*" には 30px が割り当てられることになります。

なお、HTML5ではcol要素のwidth属性は廃止されました。このため、HTML5では本機能は完全にCSSで代用します。

valign属性

バージョン
  • HTML4.01(S,T,F)
  • XHTML1.0(S,T,F)
  • XHTML1.1
指定要素
必須
-
非推奨
-
属性値
  • top
  • middle
  • bottom
  • baseline

col要素でまとめたセルに含まれる内容の垂直(上下)方向の揃え方を指定します。値には次の4つのキーワードがあります。キーワードは半角アルファベットの大文字・小文字が区別されません(case-insensitive)。

top
セルの上辺に内容の上辺を揃えて表示する
middle
セルの垂直方向の長さの中央に表示する
bottom
セルの下辺に内容の下辺を揃えて表示する
baseline
テキストの1行目をベースラインで揃えて表示する(2行目以降は影響なし)

valign属性が有効なのは Internet Explorer のみです。HTML4.01, XHTML1.0, XHTML1.1のいずれにおいてもalign属性は非推奨ではありませんでしたが、HTML5ではcol要素のvalign属性は廃止されました。本機能はCSSで代替することが推奨されており、td要素, th要素をセレクタvertical-alignプロパティを指定することで同様の表現ができます。

その他の属性

共通属性
イベント属性

col要素のサンプル

<table border="1">
<caption>保元の乱</caption>
<colgroup span="5" align="right"><col>
<col style="background:#f96;"><col style="background:#ffc;">
<col style="background:#9fc;"><col style="background:#69f;">
</colgroup>
<tr><th></th><th>天皇家</th><th>藤原氏</th><th>平氏</th><th>源氏</th></tr>
<tr><th>天皇方</th><td>後白河</td><td>忠通</td><td>清盛</td><td>義朝</td></tr>
<tr><th>上皇方</th><td>崇徳</td><td>頼長</td><td>忠正</td><td>為義</td></tr>
</table>