这似乎是 IE9 中的一个错误,尽管它显然完全支持 rgba() colors。
选项 #1 - 硬编码颜色
正如您在对另一个答案的评论中所说,对颜色进行硬编码是一种解决方案。有几种方法可以做到这一点,但这是我的建议:
如果您更改要在<td>
关卡上应用的背景颜色,则硬编码背景颜色会非常有效,甚至可以让您继续使用 alpha。这将允许它与桌子后面的任何背景颜色或图像混合。这种方法的一个好处是您不必更改 HTML。这样做的缺点是您必须手动计算新的 alpha 混合,这可能有点麻烦。
CSS:
td.highlighted {
background: rgba(52,153,207,0.15);
}
tr.highlighted td {
background: rgba(255,255,77,0.35);
}
tr.highlighted td.highlighted {
background: rgba(187, 227, 127, 0.4475);
}
HTML:
<table>
<tr class="highlighted">
<td>1928</td>
<td>Test</td>
<td class="highlighted">$1,000,000.00</td>
</tr>
<tr>
<td>1928</td>
<td>Test</td>
<td class="highlighted">$1,000,000.00</td>
</tr>
</table>
选项 #2 - 使用<div>
如果您不想硬编码您的 CSS 颜色,您可以将每个可能突出显示的表格单元格的内容包装在一个<div>
大小适合的范围内。
我不会推荐这种方法,因为从长远来看,维护起来会更加痛苦,并且会使您的 HTML 更加复杂。但是,如果您想重新命名您的网站,如果您仅限于 IE9,则在调整颜色时临时使用此方法可以让您更轻松。
CSS:
tr.highlighted {
background: rgba(255,255,77,0.35);
}
td>div {
width: 100%;
height: 100%;
padding: 0;
}
td.highlighted>div {
background: rgba(52,153,207,0.15);
}
HTML:
<table>
<tr class="highlighted">
<td><div>1928</div></td>
<td><div>Test</div></td>
<td class="highlighted"><div>$1,000,000.00</td>
</tr>
<tr>
<td><div>1928</div></td>
<td><div>Test</div></td>
<td class="highlighted"><div>$1,000,000.00</div></td>
</tr>
</table>