2010-09-27 33 views

回答

2

最简单的跨浏览器的方式是应用的样式,然后覆盖它,就像这样:

table tr td { background: blue; } 
table tr.someClass td { background: none; } 

由于一个带班,ID等更为具体,这将有不同的造型...只需将该设置中的所有行的属性设置为该选择器的所有行,以覆盖/反转样式。这种方法的好处是它不需要任何部分支持的(CSS3)选择器,它已经可以在所有浏览器中使用。

+0

这种方法的问题,是我目前的造型我想要的行。举例来说,我希望所有行的bg是#333,但是我希望第二个行的bg是#eee。第333号一般会不会覆盖第二种风格? – marcamillion 2010-09-27 00:37:10

+1

@marcamillion - Nope,如果特定行的样式更具体(类或ID执行此操作),或者具有相同的特性并在样式表中稍后声明,则不适用。就像在上面的答案中一样,'tr.someClass'比'tr'更具体,所以*'background'规则获胜。 – 2010-09-27 00:38:41

+0

太棒了!那么这种方式将很好地工作。 – marcamillion 2010-09-27 00:40:49

3

最显而易见的方法是:

tr { style for most rows; } 
tr.specificrow { style for the specific row; } 

然后

<table> 
... 
<tr>...</tr> 
<tr class="specificrow">...</tr> 
... 
</table> 
+0

谢谢....虽然早些时候得到了答案。 +1为努力:) – marcamillion 2010-09-27 01:00:35

4

你可以使用CSS3选择器:not()。它的确如你所期望的那样。

table tr:not(.special) { color: green } 

请参阅本文的详细信息:The CSS3 :Not() Selector

+0

这实际上是我正在寻找....但是,问题是CSS3的要求。尼克的回答是大多数'跨浏览器'友好。感谢这一点,虽然。 – marcamillion 2010-09-27 00:40:18

相关问题