css – 为什么background-color:none不覆盖指定的背景颜色?

我的目标是表中的所有单元格都有一个背景颜色,除了类“透明”。这是一些示例代码( corresponding jsfiddle):
<style>
    td { background-color: red }
    td.transparent { background-color: none }
</style>

<table>
    <tr>
        <td>foo</td>
        <td class="transparent">bar</td>
    </tr>
</table>

为什么td.transparent单元格不遵循td.transparent css规则?当我检查元素的规则在那里,但是它被td规则覆盖,这似乎破坏正常的CSS特定性规则。

我可以通过使用rgba(0,0)而不是任何东西来获得我想要的东西,但是IE8不支持rgba,如果可以的话我想避免使用一个丑陋的黑客。

我也想了解为什么这不符合我的预期。

思考?

解决方法

该值需要是有效的颜色,而不是一个有效的颜色。相反,您可以使用透明(类似于rgba(0,0),但更广泛地支持)。如果这不是很好,你可以随时使用白色或使用更具体的红色背景规则。

相关文章

Css3如何实现鼠标移上变长特效?(图文+视频)
css3怎么实现鼠标悬停图片时缓慢变大效果?(图文+视频)
jquery如何实现点击网页回到顶部效果?(图文+视频)
css3边框阴影效果怎么做?(图文+视频)
css怎么实现圆角边框和圆形效果?(图文+视频教程)
Css3如何实现旋转移动动画特效