CSS - colgroup要素に有効なプロパティ

tableの列を示すcolgroup要素について,CSSのどんなプロパティがあてられるかのテストです。
Tried at 2008-05-24

まず,tableのマークアップは次の通り

<table>
  <colgroup class="col1"></colgroup>
  <colgroup class="col2"></colgroup>
  <colgroup class="col3"></colgroup>
  <colgroup class="col4"></colgroup>
  <colgroup class="col5"></colgroup>
  <tr>
    <th>項目1</th>
    <th>項目2</th>
    <th>項目3</th>
    <th>項目4</th>
    <th>項目5</th>
  </tr>
  <tr>
    <td>data11</td>
    <td>data21</td>
    <td>data31</td>
    <td>data41</td>
    <td>data51</td>
  </tr>
  ......
</table>		

colgroupにbackgroundを指定

項目1 項目2 項目3 項目4 項目5
data11 data21 data31 data41 data51
data12 data22 data32 data42 data52
data13 data23 data33 data43 data53
table colgroup.col1 {
  background: #FFE6E6;
}

table colgroup.col2 {
  background: #FFF3E5;
}

table colgroup.col3 {
  background: #FFFFE5;
}

table colgroup.col4 {
  background: #F3FFE5;
}

table colgroup.col5 {
  background: #E5FFE6;
}
  • backgroundは有効(Firefox2,Opera9,Safari,IE6,7)

colgroupにwidthと横方向のpaddingを指定

項目1 項目2 項目3 項目4 項目5
data11 data21 data31 data41 data51
data12 data22 data32 data42 data52
data13 data23 data33 data43 data53
table colgroup {
  width: 100px;
  padding-left: 10px;
  padding-right: 10px;
}
capture : Firefox2で
Firefox2,Opera9,Safariでwidthは効くが,paddingは効かない。
capture : IE7で
IE6,7ではpaddingも有効。

colgroupにtext-alignを指定

項目1 項目2 項目3 項目4 項目5
data11 data21 data31 data41 data51
data12 data22 data32 data42 data52
data13 data23 data33 data43 data53
table colgroup {
  width: 100px;
  padding-left: 10px;
  padding-right: 10px;
}

table colgroup.col1 {
  text-align: left;
}

table colgroup.col2,
table colgroup.col3,
table colgroup.col4 {
  text-align: center;
}

table colgroup.col5 {
  ext-align: right;
}
capture : Firefox2で
Firefox2,Opera9,Safariでtext-alignは効かない。
capture : IE7で
IE6,7ではtext-alignが有効

colgroupにfont-weight,colorを指定

項目1 項目2 項目3 項目4 項目5
data11 data21 data31 data41 data51
data12 data22 data32 data42 data52
data13 data23 data33 data43 data53
table colgroup.col1 {
  font-weight: bold;
  color: #363;
}

table colgroup.col2,
table colgroup.col3,
table colgroup.col4 {
  color: #999;
}

table colgroup.col5 {
  font-weight: bold;
  color: #903;
}
capture : Firefox2で
Firefox2,Opera9,Safariでfont-weight,colorは効かない。
capture : IE7で
IE6,7ではfont-weight,colorが有効

th,tdはcolgroupの子孫要素ではない

  • th,tdはcolgroupの子孫要素ではないので,colgroupに指定したtext-align,font-weight,colorなどの値はth,tdに継承されないはず。
  • colgroupは内容を持たないただの領域。これが列として並んだ複数のセルと重なっているだけ。
  • th,tdを子孫要素のように扱うIE6,7の挙動が正しくない。