我很难让CSS看起来正确。我想在我的桌子上用交替的颜色,但似乎不起作用。这是我的CSS:
table.className tbody tr:nth-child(even){
background-color: white;
}
table.className tbody tr:nth-child(odd){
background-color: grey;
}
您的代码看起来不错。可能是两件事,你正在使用的IE版本太旧了(我认为IE8及以下版本不支持这一点),或者你在其他地方用设置了这些样式!对他们来说很重要。
在看不到HTML的情况下,有两种可能性:
- 类名不匹配
- 缺少
tbody
标记(不管怎样,CSS选择器中都不需要tbody
)
这可能不适合您,原因有几个。首先,您使用的CSS代码是CSS3,在您使用的浏览器中可能不支持:http://www.impressivewebs.com/css3-browser-support/
这可能不起作用的另一个原因是,您在CSS中包含了"tbody"标记,这表明您的html表是这样设置的。这实际上是一些开发人员放弃的标记,如果html表没有"标记,则必须将其从CSS中删除才能正常工作。
鉴于已经确定您使用的是不支持CSS中第n个子项的IE8,您可以使用jQuery实现同样的功能,以获得更好的跨浏览器支持:
$(function() {
$("table.className tr:nth-child(even)").css('background-color','white');
$("table.className tr:nth-child(odd)").css('background-color','grey');
});