CSS选择器 - 确定从最后一个孩子开始的偶数/奇数孩子

时间:2014-06-04 16:30:24

标签: html css css3 css-selectors html-email

仅使用CSS,有没有办法从last-child元素开始应用甚至/奇数计数并向后转到第一个子元素?我不能在这个项目中使用JavaScript;这适用于从Silverpop数据库生成的电子邮件。

我有一个包含多行需要交替背景颜色的表格。这些行是从数据库生成的,因此它们的编号从3到6行。最后一行总是需要是白色的,因为紧接着是一个灰色背景的表,我不能让最后一行变成灰色。对于那些不支持E:nth-​​of-type的电子邮件客户端,我会有一个后备。

tr:nth-​​of-type(偶数){gray}适用于3行:

<table>
<tr></tr> (white)
<tr></tr> (grey)
<tr></tr> (white)
</table>

tr:nth-​​of-type(偶数){gray}不能用于4行:

<table>
<tr></tr> (white)
<tr></tr> (grey)
<tr></tr> (white)
<tr></tr> (grey)
</table>

2 个答案:

答案 0 :(得分:5)

是的,为此目的存在:nth-last-of-type()

tr:nth-last-of-type(even)

但是,没有办法为仅支持CSS的浏览器和电子邮件客户端提供不支持此选择器的备用方法。您需要让应用程序为相应的行添加类名,而不是由该类添加目标。如果您无法修改应用程序,那么您可能会陷入困境。

答案 1 :(得分:3)

看着MDN,:nth-last-of-type似乎就是你想要的。

tr:nth-last-of-type(even) {background-color: gray}

JS Fiddle Demo