我有一个表格,其中列具有由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标签被排除在后台:透明属性
答案 0 :(得分:4)
首先,祝贺您知道<colgroup>
标签,更不用说使用它了。它并不是HTML开发人员库中最知名的元素。
查看此页面:http://marc.baffl.co.uk/bugs.php并搜索“colgroup”一词。您将找到您将遇到的各种错误的描述,以及哪些浏览器正确支持它的表。不幸的是,IE6和IE7在该表的每一列都有“no”字样。
如果您计划支持IE6和IE7,则可能很难实现此功能。
[编辑]
值得注意的是,IE中缺乏支持尤其具有讽刺意味,因为<colgroup>
在IE4时代最初是IE特定的扩展。
如果您想支持较旧的IE,我的建议是放弃<colgroup>
,只需使用<td>
元素上的类即可达到同样的效果。