col要素
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
- 要素分類
- table要素の子要素
- colgroup要素の子要素
- 開始タグ
- 必須
- 終了タグ
- なし
- 非推奨
- -
- 内容モデル
- -
align属性
- バージョン
- HTML4.01(S,T,F)
- XHTML1.0(S,T,F)
- XHTML1.1
- 指定要素
- col
- colgroup
- 必須
- -
- 非推奨
- -
- 属性値
- 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
- 指定要素
- col
- colgroup
- 必須
- -
- 非推奨
- -
- 属性値
- 整数("1"以上)
col
要素でまとめる列数を "1
" 以上の整数で指定します。まとめた列は col
要素で定義した全ての属性を共有します。初期値は "1
" です。
width属性
- バージョン
- HTML4.01(S,T,F)
- XHTML1.0(S,T,F)
- XHTML1.1
- 指定要素
- col
- colgroup
- 必須
- -
- 非推奨
- -
- 属性値
- 整数(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
- 指定要素
- col
- colgroup
- 必須
- -
- 非推奨
- -
- 属性値
- 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>