我有css适用于表的所有tr标签。
所以在我的html中我没有tr标签的样式。但是,对于我表中的一个TR标记,我不想对所有表应用通用的TR。有没有办法排除这个TR?
.statisticsTable {
border:2px solid #990000;
width:100%;
}
.statisticsTable tr {
font-weight : bold;
font-size : 9pt;
font-family : Arial,Helvetica,sans-serif,Verdana,Geneva;
color: #ffffff;
background-color:#990000;
}
<table class="statisticsTable">
<tr><td colspan="7" class="tableHeaderText">HUB Statistics</td></tr>
<tr>
<th colspan="2">HUB</th>
<th >House Houlds Evaluated</th>
<th >Total Debt Owed</th>
</tr>
<tr class="<s:if test="#status.even">even</s:if><s:else>odd</s:else>">
<td rowspan=3 valign=top>213-65-6425</td>
<td >All</td>
<td >t1</td>
<td >t2</td>
在具有'even'或'odd'类的<tr>
之上我不希望此<tr>
具有.statisticsTable tr属性。这有可能吗?
主要认为我想要避免的是背景颜色:#990000;和颜色:#ffffff;
答案 0 :(得分:42)
CSS级联,意味着您可以覆盖先前定义的属性的值。
你会这样做:
.statisticsTable tr.even, .statisticsTable tr.odd {
font-weight: normal;
font-size: DEFAULT; /* what ever your default is */
font-family: DEFAULT; /* what ever your default is */
/* I would use the font shorthand property */
color: DEFAULT;
background: DEFAULT;
}
如果你想使用CSS3,你可以使用:not仅将以下样式应用于没有偶数或奇数类的TR元素:
.statisticsTable tr:not(.even):not(.odd) {
font: bold 9pt Arial,Helvetica,sans-serif,Verdana,Geneva;
color: #fff;
background:#990000;
}
编辑: not(.even,.odd)无效语法因此不起作用(至少不在Chrome中)
正确的语法是:not(selector),但你可以这样做:not(selector1):not(selector2)这些not()s在同一级别上。
答案 1 :(得分:2)
在支持CSS3伪选择器的浏览器中(这包括大多数浏览器,特别是包括IE7和IE88而不是IE6),像.statisticsTable tr:not(.even):not(.odd)这样的选择器用于第二条规则分组可以做你想要的。
答案 2 :(得分:0)
你有几个选项,在你的情况下我能看到的最简单的方法是覆盖statisticsTable中的CSS,并在类'even'和'odd'中使用你想要的样式的CSS。