Reset.css正在覆盖IE7 / IE6中的colgroup背景

时间:2011-01-04 14:54:33

标签: html css internet-explorer-7 internet-explorer-6

我有一个表格,其中列具有由colgroup设置的不同背景。但是,在IE6 / 7中,它完全忽略了colgroup背景并获取了单元格的reset.css背景值(背景:透明)。如何解决此问题而无需转到每个单元格并手动输入背景值?

HTML

<table id="services-table" border="0" cellpadding="0" cellspacing="0" width="100%">
<colgroup>      
 <col class="services-oddcolumn" />         
 <col class="services-evencolumn" />     
</colgroup> 
<tbody>   
  <tr>     
    <td>Column #1, Row #1</td>
    <td>Column #2, Row #1</td>
  </tr>

  <tr>
    <td>Column #1, Row #2</td>
    <td>Column #2, Row #2</td>
   </tr>
</tbody>

RESET(位于主CSS文件上方)

html,body, table,tr,th,td {background:transparent;} //it's taking this background value for TD and column

CSS

.services-oddcolumn{background-color:#000 !important; width:10%;} 
.services-evencolumn{background-color:#fff !important; width:10%;}

编辑 - 最后没有“干净”修复,我只需更改reset.css文件,因此table,tr,th,td标签被排除在后台:透明属性

1 个答案:

答案 0 :(得分:4)

首先,祝贺您知道<colgroup>标签,更不用说使用它了。它并不是HTML开发人员库中最知名的元素。

然而,令人遗憾的是,其中一个不太为人所知的原因是它得不到很好的支持,而且听起来你已经找到了一个你无法解决的bug。

查看此页面:http://marc.baffl.co.uk/bugs.php并搜索“colgroup”一词。您将找到您将遇到的各种错误的描述,以及哪些浏览器正确支持它的表。不幸的是,IE6和IE7在该表的每一列都有“no”字样。

如果您计划支持IE6和IE7,则可能很难实现此功能。

[编辑] 值得注意的是,IE中缺乏支持尤其具有讽刺意味,因为<colgroup>在IE4时代最初是IE特定的扩展。

如果您想支持较旧的IE,我的建议是放弃<colgroup>,只需使用<td>元素上的类即可达到同样的效果。