col/colgroup要素へのスタイル指定

ここではcol要素やcolgroup要素に対してCSSを設定した場合の、ユーザエージェントによる解釈の違いをまとめています。

注意:Windows版Mozilla1.7betaでvisibilityプロパティの項にある例示を閲覧するとMozillaがクラッシュします。3月20日以降のnightlyビルドではクラッシュしないそうです。

はじめに

(X)HTMLにおいて表のセル要素は行要素の子孫です。従ってスタイルシートの各プロパティの値は列要素ではなく行要素から継承します。ただしCSS2では border, background, width, visibility の4種類のプロパティに限りcol要素やcolgroup要素への適用を可としています。

<table border="2">
<colgroup style="width:10em; text-align:center;"></colgroup>
<colgroup><col style="width:10em; color:blue;"></colgroup>
<tr><td>中央揃えではない</td><td>青色ではない</td></tr>
</table>
中央揃えではない青色ではない
WinIE5.x/6.0
Netscape4.x

captionがある表

<table border="2">
<caption>題</caption>
<colgroup style="width:10em;"></colgroup>
<colgroup><col style="background:yellow;"></colgroup>
<tr><td>幅が10em</td><td>背景が黄色</td></tr>
</table>
<table border="2">
<!-- 題なし -->
<colgroup style="width:10em;"></colgroup>
<colgroup><col style="background:yellow;"></colgroup>
<tr><td>幅が10em</td><td>背景が黄色</td></tr>
</table>
幅が10em背景が黄色
幅が10em背景が黄色
Safari1.x, Konqueror3.1.3

borderプロパティ

<style type="text/css">
td {
  border: 1px solid lime;
}
</style>

<table style="border-collapse:collapse; border:2px solid blue;">
<colgroup><col></colgroup>
<colgroup style="border:4px solid red;"></colgroup>
<colgroup><col></colgroup>
<colgroup style="border:4px solid green;"><col></colgroup>
<colgroup><col></colgroup>
<colgroup><col style="border:4px solid fuchsia;"></colgroup>
<colgroup></colgroup>
<colgroup style="border:4px solid red;"></colgroup>
<colgroup></colgroup>
<colgroup style="border:4px solid green;"><col></colgroup>
<colgroup></colgroup>
<colgroup><col style="border:4px solid fuchsia;"></colgroup>
<tr><td>(1)</td><td>(2)</td><td>(3)</td><td>(4)</td><td>(5)</td><td>(6)</td>
<td>(7)</td><td>(8)</td><td>(9)</td><td>(10)</td><td>(11)</td><td>(12)</td></tr> </table>
(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)(12)
WinIE5.x/6.0, Konqueror3.1.3
Netscape7.1、Mozilla1.7beta
Opera6.06
Opera7.23

backgroundプロパティ

<col style="background:yellow;">
<col style="background:yellow;">
(1)黄色
<col span="2" style="background:yellow;">
(2)黄色
<colgroup style="background:yellow;"></colgroup>
<colgroup style="background:yellow;"></colgroup>
(3)黄色
<colgroup span="2" style="background:yellow;"></colgroup>
(4)黄色
<colgroup style="background:yellow;"><col><col></colgroup>
(5)黄色
<colgroup style="background:yellow;"><col span="2"></colgroup>
(6)黄色
WinIE5.x/6.0, Opera7.23、Mozilla1.7beta標準モード
Opera6.06, Netscape7.1、Mozilla1.7互換モード
Konqueror3.1.3

widthプロパティ

<col style="width:10em;">
<col style="width:10em;">
(1)10em
<col span="2" style="width:10em;">
(2)10em
<colgroup style="width:10em;"></colgroup>
<colgroup style="width:10em;"></colgroup>
(3)10em
<colgroup span="2" style="width:10em;"></colgroup>
(4)10em
<colgroup style="width:10em;"><col><col></colgroup>
(5)10em
<colgroup style="width:10em;"><col span="2"></colgroup>
(6)10em
<colgroup style="width:10em;"></colgroup>
<colgroup style="width:10em;"><col><col></colgroup>
(7)5em5em
WinIE5.x/6.0, Netscape7.1、Mozilla1.7beta
Opera6.06
Opera7.23
MacIE5.x
Safari1.2, Konqueror3.1.3

Mozilla1.7betaでここから先を閲覧しないで下さい。Mozillaがクラッシュします!


visibilityプロパティ

<table border="2">
<colgroup></colgroup>
<colgroup style="visibility:collapse;"></colgroup>
<colgroup></colgroup>
<tr><td>見える</td><td>見えない</td><td>見える</td></tr>
</table>
<table border="2">
<col>
<col style="visibility:collapse;">
<col>
<tr><td>見える</td><td>見えない</td><td>見える</td></tr>
</table>
見える見えない見える
見える見えない見える
Netscape7.1
WinIE5.x/6.0, Opera6.06/7.23, Konqueror3.1.3
Mozilla1.7beta
col/colgroup要素に visibility:collapse; を指定した表を描画する時点でクラッシュする。