【发布时间】:2018-09-06 19:34:21
【问题描述】:
我想用背景色覆盖 TD 的样式。
我的问题是我有(机械地)生成的表,它在 Zebra Stripes 的所有 TR 上放置了一个 CLASS。
所以我有
<table>
<tbody>
<tr class="myTROdd">...
<tr class="myTREven">...
<td class="myBackRed">Highlight this cell</td>
我的 CSS 知识很薄弱,但据我了解
.myBackRed {background-color: #FF0000;}
不太具体,所以不起作用。
.myTREven TD.myBackRed {background-color: #FF0000;}
是特定的并且确实有效,但我想要更通用的东西,例如我尝试过这个(不起作用)
.TABLE TD.myBackRed {background-color: #FF0000;}
我遇到的问题
.myTREven TD.myBackRed {background-color: #FF0000;}
是实际的CMS模板是
<tr class="my{TAG}TROdd">...
其中 {TAG} 被大量可选的“调整”值中的任何一个替换,我试图避免在样式表中为我的单元格覆盖样式编写所有可能的组合
Fiddle 示例,下面是第 3-4 行的 TD 覆盖样式,第 5-6 行没有显式覆盖 CSS
https://jsfiddle.net/dB93J/1240/
这个question 很接近,但不能解决我的问题。
编辑:根据@Roberrrt 评论,我已更改
.TABLE TD.myBackRed {background-color: #FF0000;}
到
TABLE TD.myBackRed {background-color: #FF0000;}
而且不管 TR 类的变化如何,这似乎确实会覆盖单元格。见新小提琴https://jsfiddle.net/dB93J/1247/
【问题讨论】:
-
小旁注,您的示例
.table不存在。你的意思是table一个 sich 吗? -
啊,好点子,谢谢。我会试试的。我刚刚尝试过
!important,这似乎可以解决问题,但我对使用它时的排序顺序感到不舒服(由于我缺乏 CSS 知识) -
用 TABLE 而不是 .TABLE 创建了一个新的小提琴,看起来已经修复了。如果有“更好的方法”,我仍然对我缺乏知识感到不安。新小提琴jsfiddle.net/z3m91cqt
-
我有点忙,所以我没能彻底阅读你的问题,但这是一个关于 CSS 特定性的极好资源:smashingmagazine.com/2007/07/… 总之,我仍然犯了简单的类/元素错误和上面一样,通常每天需要半个小时。
-
你分享的最后一个小提琴改变了第 5 行和第 6 行 TD 的颜色。这就是你想要的对吧?
标签: css html-table