Html css属性tr:n子级(偶数)在IE 8上不起作用

Html css属性tr:n子级(偶数)在IE 8上不起作用,html,css,internet-explorer,Html,Css,Internet Explorer,即使在IE8上,我也无法使用css属性tr:nth child设置html表中的备用行。是否有一种替代方法可以在IE8上使用?如果可能的话,我如何使用css来达到同样的效果 演示: 它是IE8中不支持的CSS3样式的属性。您必须使用其他方式来支持IE8,比如类或ID。看看这里,浏览器支持什么和不支持什么,这是IE8不支持的CSS3风格属性。您必须使用其他方式来支持IE8,比如类或ID。看看这里,浏览器支持什么和不支持什么,Sine:n子项在IE8中不受支持,您需要更改标记 定义一个类。奇数或。偶

即使在IE8上,我也无法使用css属性tr:nth child设置html表中的备用行。是否有一种替代方法可以在IE8上使用?如果可能的话,我如何使用css来达到同样的效果

演示:


它是IE8中不支持的CSS3样式的属性。您必须使用其他方式来支持IE8,比如类或ID。看看这里,浏览器支持什么和不支持什么,

这是IE8不支持的CSS3风格属性。您必须使用其他方式来支持IE8,比如类或ID。看看这里,浏览器支持什么和不支持什么,

Sine:n子项在IE8中不受支持,您需要更改标记

定义一个类。奇数或。偶数,并将该类应用于标记中的每一行

然后更改css:

tr:nth-child(even), .odd 
{
    background-color:#F4F4F4;
}
Sine:n IE8不支持第n个子项,您需要更改标记

定义一个类。奇数或。偶数,并将该类应用于标记中的每一行

然后更改css:

tr:nth-child(even), .odd 
{
    background-color:#F4F4F4;
}
试试这个

将此代码粘贴到头标签中

  <!--[if lt IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
<![endif]-->
或者您可以使用css类文件代替

$("#gridAndDetail tr:odd").addClass("odd");
$("#gridAndDetail tr:even").addClass("even");

根据您的理解,请阅读此链接

试试这个

将此代码粘贴到头标签中

  <!--[if lt IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
<![endif]-->
或者您可以使用css类文件代替

$("#gridAndDetail tr:odd").addClass("odd");
$("#gridAndDetail tr:even").addClass("even");

根据您的理解,请阅读此链接


正如其他人所说,IE8不支持CSS中的第n个子选择器

您有以下选项:

重构代码以使用替代方法,而不是第n个子项。可能只是在相关元素中添加一个类

使用javascript polyfill,例如or,它将第n个子选择器和其他子选择器向后移植到IE8

使用jQuery或支持第n个子项的类似库来设置样式,而不是在CSS中进行设置

放弃对IE8的支持

你决定使用哪一个选项取决于对你来说什么是重要的

如果您有在其他浏览器中工作的代码,并且您需要它在IE8中以最少的额外工作量工作,那么我建议您尝试使用Selectivizr库。或者IE9.js。但我建议先试试Selectivizr,因为IE9.js对浏览器做了很多其他事情,可能会也可能不会影响你的网站

如果您不想为此使用Javascript库,但仍然需要IE8支持,那么您需要选择选项1并重构代码。这可能需要做很多工作,也可能不需要做很多工作,这取决于代码的结构以及代码的数量。当CSS存在时,不得不后退一步,这有点遗憾


选项4听起来是最糟糕的选项,但可能比听起来更合适。如果第n个子样式被用于斑马条纹之类的东西,IE8用户不使用条纹可能不是世界末日。如果网站中的其他一切正常,他们甚至可能不会错过它。如果他们确实错过了,你可以告诉他们升级浏览器。

正如其他人所说,IE8不支持CSS中的第n个子选择器

您有以下选项:

重构代码以使用替代方法,而不是第n个子项。可能只是在相关元素中添加一个类

使用javascript polyfill,例如or,它将第n个子选择器和其他子选择器向后移植到IE8

使用jQuery或支持第n个子项的类似库来设置样式,而不是在CSS中进行设置

放弃对IE8的支持

你决定使用哪一个选项取决于对你来说什么是重要的

如果您有在其他浏览器中工作的代码,并且您需要它在IE8中以最少的额外工作量工作,那么我建议您尝试使用Selectivizr库。或者IE9.js。但我建议先试试Selectivizr,因为IE9.js对浏览器做了很多其他事情,可能会也可能不会影响你的网站

如果您不想为此使用Javascript库,但仍然需要IE8支持,那么您需要选择选项1并重构代码。这可能需要做很多工作,也可能不需要做很多工作,这取决于代码的结构以及代码的数量。当CSS存在时,不得不后退一步,这有点遗憾


选项4听起来是最糟糕的选项,但可能比听起来更合适。如果第n个子样式被用于斑马条纹之类的东西,IE8用户不使用条纹可能不是世界末日。如果网站中的其他一切正常,他们甚至可能不会错过它。如果他们错过了,你可以告诉他们升级他们的浏览器。

但是今天我不得不为内联网网页设计备用表格行,同时考虑IE8

如果要使用纯CSS无标记更改或JavaScript,可以使用相邻兄弟组合器:

/* For the odd rows: */
table.alternate tr:first-child,
table.alternate tr:first-child + tr + tr,
table.alternate tr:first-child + tr + tr + tr + tr,
table.alternate tr:first-child + tr + tr + tr + tr + tr + tr,
table.alternate tr:first-child + tr + tr + tr + tr + tr + tr + tr + tr,
table.alternate tr:first-child + tr + tr + tr + tr + tr + tr + tr + tr + tr + tr,
table.alternate tr:first-child + tr + tr + tr + tr + tr + tr + tr + tr + tr + tr + tr + tr {
/* …and so on  */
background: #eaf3fa}

/* For the even rows: */
table.alternate tr:first-child + tr,
table.alternate tr:first-child + tr + tr + tr,
table.alternate tr:first-child + tr + tr + tr + tr + tr,
table.alternate tr:first-child + tr + tr + tr + tr + tr + tr + tr,
table.alternate tr:first-child + tr + tr + tr + tr + tr + tr + tr + tr + tr,
table.alternate tr:first-child + tr + tr + tr + tr + tr + tr + tr + tr + tr + tr + tr,
table.alternate tr:first-child + tr + tr + tr + tr + tr + tr + tr + tr + tr + tr + tr + tr + tr
/* …and so on  */  {
    background: #fff}
有关相邻同级选择器的详细信息:

然而,今天我不得不考虑IE8,为内部网网页设计备用表格行

如果y 如果要使用纯CSS无标记更改或JavaScript,可以使用相邻兄弟组合器:

/* For the odd rows: */
table.alternate tr:first-child,
table.alternate tr:first-child + tr + tr,
table.alternate tr:first-child + tr + tr + tr + tr,
table.alternate tr:first-child + tr + tr + tr + tr + tr + tr,
table.alternate tr:first-child + tr + tr + tr + tr + tr + tr + tr + tr,
table.alternate tr:first-child + tr + tr + tr + tr + tr + tr + tr + tr + tr + tr,
table.alternate tr:first-child + tr + tr + tr + tr + tr + tr + tr + tr + tr + tr + tr + tr {
/* …and so on  */
background: #eaf3fa}

/* For the even rows: */
table.alternate tr:first-child + tr,
table.alternate tr:first-child + tr + tr + tr,
table.alternate tr:first-child + tr + tr + tr + tr + tr,
table.alternate tr:first-child + tr + tr + tr + tr + tr + tr + tr,
table.alternate tr:first-child + tr + tr + tr + tr + tr + tr + tr + tr + tr,
table.alternate tr:first-child + tr + tr + tr + tr + tr + tr + tr + tr + tr + tr + tr,
table.alternate tr:first-child + tr + tr + tr + tr + tr + tr + tr + tr + tr + tr + tr + tr + tr
/* …and so on  */  {
    background: #fff}
有关相邻同级选择器的详细信息:

您必须使用polyfill,以便它可以帮助其他不受支持的规则,或者只为此设置一些轻javascript。您必须使用polyfill,以便它可以帮助其他不受支持的规则,或者只为此设置一些轻javascript