如何使用CSS单独为IE和Firefox进行奇/偶着色?

时间:2011-09-19 12:49:05

标签: css internet-explorer

我使用php作为我的网络项目,但我需要单独使用CSS这一着色补充。

因此,我需要适用于Firefox和Internet Explorer的代码。

此代码已编写,但在Internet Explorer中不起作用:

.tbl_css col:nth-child(odd){      
}

.tbl_css col:nth-child(even){    
}

3 个答案:

答案 0 :(得分:13)

较低版本的IE不支持伪选择。

您可以使用jQuery使其正常工作:

$(document).ready(function(){
    $('table tr:even').addClass('even');
    $('table tr:odd').addClass('odd');
});

简单地说:

.even{ /* your styles */ }
.odd { /* your styles */ }

答案 1 :(得分:7)

所有主流浏览器的最新版本(IE 9 +,FF 3.5+)都支持伪选择器:nth-child。如果您必须支持旧浏览器(例如IE 8),您可以手动将class="odd"class="even"分配给您的列,或使用JQuery:

$(".tbl_css col:nth-child(2n+1)").addClass("odd");
$(".tbl_css col:nth-child(2n)").addClass("even");

.tbl_css col:nth-child(odd)重命名为.odd.tbl_css col:nth-child(even)重命名为.even

答案 2 :(得分:6)

您正在测试哪个版本的IE?

{1}}选择器仅在IE9中添加到IE中。以前的版本(IE8及更早版本)不支持它。

如果您需要在旧版本的IE中实现此效果,那么您将需要使用替代技术。最常见的是在nth-child元素中使用交替的类输出HTML。还有一些JQuery插件可以为你实现这种效果。

希望有所帮助。