选择X类的第n个元素

时间:2011-12-12 20:08:14

标签: css css3 css-selectors

如何仅使用CSS 3选择器选择X类的第n个元素?具体来说,我需要选择表中的每个偶数表行来应用样式,但有时我会插入需要忽略的表行,因为它不是数据。

我尝试使用

tr.X:nth-child(even)
.X::nth-child(even)

我知道:nth-of-type()存在,但这些似乎都不符合我的要求。

使用纯CSS3可以实现这一点吗?如果不是我真的不介意,但我会很高兴听到你的想法。

HTML表格

<table class="txls">
    <thead class="centro">
        <tr class="bg-gris">
            <td class="txlsb" rowspan="2" width="14">&nbsp;</td>
            <td class="txlsb" rowspan="2">Linea</td>
            <td class="txlsb" colspan="7">Kilometros</td>
        </tr>
        <tr class="bg-gris">
            <td class="txlsb" width="100">Atenci&oacute;n</td>
            <td class="txlsb" width="100">Derecho de via</td>
            <td class="txlsb" width="100">Administrativos</td>
            <td class="txlsb" width="100">Contencioso</td>
            <td class="txlsb" width="100">Expropiados</td>
            <td class="txlsb" width="100">Construccion</td>
            <td class="txlsb" width="100">Regularizados</td>
        </tr>
    </thead>
    <tbody>
        <tr class="X">
            <td class="txlsb"><img src="imgs/collapse-medium-green.png" /></td>
            <td class="txlsb">XXX-45820-YYY</td>
            <td class="txlsb">12.50</td>
            <td class="txlsb">60.12</td>
            <td class="txlsb">8.00</td>
            <td class="txlsb">10.00</td>
            <td class="txlsb">0.00</td>
            <td class="txlsb">0.00</td>
            <td class="txlsb">18.00</td>
        </tr>
        <tr >
            <td class="txlsb bg-cancel">&nbsp;</td>
            <td class="txlsc" colspan="8">
                <table class="txls w100">
                    <thead>
                        <tr class="bg-verde2">
                            <td class="txlsb" width="14"><img src="imgs/collapse-medium-green.png" /></td>
                            <td class="txlsb">Zona Foo</td>
                            <td class="txlsb" width="100">3.00</td>
                            <td class="txlsb" width="100">1.00</td>
                            <td class="txlsb" width="100">0.00</td>
                            <td class="txlsb" width="100">0.00</td>
                            <td class="txlsb" width="98">4.00</td>
                        </tr>
                    </thead>
                    <tbody class="">
                        <tr>
                            <td class="txlsb bg-cancel">&nbsp;</td>
                            <td class="txlsc" colspan="6">
                                <table class="txls w100">
                                    <thead class="centro">
                                        <tr class="bg-gris2">
                                            <td class="txlsb"  width="100">Tramite</td>
                                            <td class="txlsb">Num. Caso</td>
                                            <td class="txlsb">Expediente</td>
                                            <td class="txlsb">Predio</td>
                                            <td class="txlsb" width="55">T. Inicial</td>
                                            <td class="txlsb" width="55">T. Final</td>
                                            <td class="txlsb bg-cancel" width="96">&nbsp;</td>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <tr class="X">
                                            <td class="txlsb">Administrativo</td>
                                            <td class="txlsb">12</td>
                                            <td class="txlsb">YC-AGR-12390-2011</td>
                                            <td class="txlsb">la chuchita</td>
                                            <td class="txlsb">12.1</td>
                                            <td class="txlsb">25.0</td>
                                            <td class="txlsb">3.00</td>
                                        </td>
                                        <tr class="X">
                                            <td class="txlsb">Contencioso</td>
                                            <td class="txlsb">13</td>
                                            <td class="txlsb">YC-AGR-52323-2011</td>
                                            <td class="txlsb">el almendro</td>
                                            <td class="txlsb">50.0</td>
                                            <td class="txlsb">51.0</td>
                                            <td class="txlsb">1.00</td>
                                        </td>
                                    </tbody>
                                </table>
                            </td>
                        </td>
                    </tbody>
                </table>
            </td>
        </tr>
        <tr class="X">
            <td class="txlsb"><img src="imgs/expand-medium-green.png" /></td>
            <td class="txlsb">AAA-83010-BBB</td>
            <td class="txlsb">50.92</td>
            <td class="txlsb">92.45</td>
            <td class="txlsb">10.08</td>
            <td class="txlsb">0.00</td>
            <td class="txlsb">0.00</td>
            <td class="txlsb">0.00</td>
            <td class="txlsb">0.00</td>
        </tr>
    </tbody>
</table>

1 个答案:

答案 0 :(得分:2)

:nth-match()伪选择器的CSS4 specifications调用,但目前还没有可用的。所有当前的伪选择器都在所有元素的上下文中,它们可以在当前分支中查看。 nth-child(even)仅适用于tr,而不适用于.X