2012-02-28 92 views
2

我无法让CSS看起来正确。我想在我的桌子上交替的颜色,但它似乎并没有工作。这是我的CSS:交替表颜色

table.className tbody tr:nth-child(even){ 
background-color: white; 
} 

table.className tbody tr:nth-child(odd){ 
background-color: grey; 
} 
+1

哪个浏览器( s)你在用吗?你确定它支持n-child吗? – Andy 2012-02-28 17:03:26

+2

你可以显示一些周围的CSS和HTML代码吗? – 2012-02-28 17:03:33

+2

参见http://www.quirksmode.org/css/contents.html并搜索“:nth-​​child()”以查看您的浏览器是否支持该属性。 IE8不支持选择器,所以在用纯CSS解决这个问题之前,我会稍微等一下。 – xsl 2012-02-28 17:05:50

回答

0

你的代码看起来不错。可能是两件事,你使用的IE版本是旧的(IE8和以下我相信不支持这个),或者你已经在其他地方设置了这些样式,其中重要的是!

+1

啊,是的,我在IE8中这样做,似乎是这个问题。耻辱IE8不支持这一点。谢谢! – John 2012-02-28 17:06:36

0

在没有看到HTML,有几个可能的原因:

  • 类的名称不匹配
  • tbody标签丢失(无论哪种方式,不需要在CSS选择器tbody
0

有几个原因为什么这可能不适合你。首先,你所使用的CSS代码是CSS3的,不能在浏览器中使用的是被支持的:http://www.impressivewebs.com/css3-browser-support/

这可能无法正常工作的另一个原因是,已包含在表示该CSS的“TBODY”标签你的html表格就是这样设置的。这实际上是一些开发人员放弃的标签,如果您的html表格没有“”标签,那么您必须将其从CSS中移除才能使其工作。

-1

鉴于其已建立您使用IE8不支持:第n个孩子在CSS,可以实现使用jQuery更好的跨浏览器支持同样的事情:

$(function() { 
    $("table.className tr:nth-child(even)").css('background-color','white'); 
    $("table.className tr:nth-child(odd)").css('background-color','grey'); 
});