colgroup
要素型 (HTML, XHTML 1)[1] HTML の
colgroup
要素は、表の列群を明示します。
[8] 仕様書:
(col
*)
table
直下
((caption
?, (colgroup
| col
)*, thead
?, tfoot
?, tbody
+)
)属性名 | 属性値 | 既定値 | 説明 | 出典 |
align | 揃え | [HTML4] %cellhalign | ||
bgcolor | %Color | 背景色 | ||
char | 揃える文字 | [HTML4] %cellhalign | ||
charoff | 揃える文字 | [HTML4] %cellhalign | ||
class | 級 | [HTML4] %coreattr | ||
dir | 書字方向 | [HTML4] %i18n | ||
id | 一意識別子 | [HTML4] %coreattr | ||
lang | 自然言語 | [HTML4] %i18n | ||
xml:lang | 自然言語 | [XHTML1] | ||
onclick | [HTML4] %events | |||
ondblclick | [HTML4] %events | |||
onkeydown | [HTML4] %events | |||
onkeypress | [HTML4] %events | |||
onkeyup | [HTML4] %events | |||
onmousedown | [HTML4] %events | |||
onmousemove | [HTML4] %events | |||
onmouseout | [HTML4] %events | |||
onmouseover | [HTML4] %events | |||
onmouseup | [HTML4] %events | |||
span | NUMBER | 1 | 行数 | [HTML4] |
style | スタイル情報 | [HTML4] %coreattr | ||
title | 注釈的題 | [HTML4] %coreattr | ||
valign | 垂直配置 | [HTML4] %cellvalign | ||
width | %MultiLength; | 行幅 | [HTML4] |
[9]
HTML 4 DTD の注釈 (参考) には
COLGROUP groups a set of COL elements. It allows you to group several semantically related columns together.
と説明があります。
(名無しさん [sage])
[3] colgroup
で表される列群に含まれる列の数は、
で決まります。
[4] 40行含む列群の例:
<COLGROUP span="40" width="20"> </COLGROUP>
(HTML 4 より)
span
を使った指定は、特に列数が多い時には便利ですが、
列に例えば id
を与えておきたい場合には
col
を使った方法にしないといけません。
<COLGROUP width="20"> <COL span="39"> <COL id="format-me-specially"> </COLGROUP>
(HTML 4 より)
この例では width
属性の値が子 col
要素に継承されます。
[6] 表全体の列の数は、次のように決められます。 (仕様書: HTML 4 <IW:HTML4:"struct/tables.html#column-calc">)
table
が子供として
colgroup
や col
を持つ場合、
UA が採るべき (should) 計算法:
子 colgroup
は >>3 の方法、
子 col
は span
属性
(既定値 1
) によって値を得、
すべて合計したものが表全体の列数。
colgroup
や col
が無い場合に UA が採るべき (should) 計算法:
表の全行のうち、一番こま数
(colspan
属性を考慮に入れたもの。)
が多いもののこま数が表全体の列数。
(こま数が列数に足りない行には空こまが補充されるべき (should) です。 HTML 4 仕様書ではこの説明は後者の計算法の場合に書かれていますが、前者で計算した場合も適用されるはずです。)
二つの計算法の値が一致しない時は誤りです。
<TABLE> <COLGROUP span="10" width="50"> <COLGROUP span="5" width="0*"> <THEAD> <TR><TD> ... </TABLE>
(HTML 4 仕様書より)
[7]
colgroup
や col
の目的は表の構造を示すことのほかに、
表の列数や幅などの属性を事前に知らしめておくことによって徐々にレンダリングするなど処理を高速化することもあります。
(ただし、それは90年代後半の話であって、
現在の回線や計算機の処理速度ではほとんど意味を成さないでしょう。)
(名無しさん)
[10] Bug 915 - implement inheritance of alignment attributes from columns (align, valign, char, charoff, (lang, dir)?) <https://bugzilla.mozilla.org/show_bug.cgi?id=915> (名無しさん)
[11] colgroup / col 要素を活用してみる | WWW WATCH ( 版) <http://hyper-text.org/archives/2007/05/colgroup_and_col_element.shtml> (名無しさん 2007-05-27 03:10:56 +00:00)
[12] Allow <script> inside <hgroup> by annevk · Pull Request #3383 · whatwg/html () <https://github.com/whatwg/html/pull/3383>