Reputation: 3111
How can I select the nth-element of a X class using only CSS 3 selectors? Specifically, i need to select each even table row in a table to apply a style, but sometimes i insert a table row that needs to be ignored because it isn't data.
I tried using
tr.X:nth-child(even)
.X::nth-child(even)
and i know that :nth-of-type()
exists but neither of those seems to fulfill my requirements.
Is it possible to achieve this with pure CSS3 ? If not i don't really mind, but i'll be glad to hear your ideas.
<table class="txls">
<thead class="centro">
<tr class="bg-gris">
<td class="txlsb" rowspan="2" width="14"> </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ó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"> </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"> </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"> </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>
Upvotes: 0
Views: 421
Reputation: 54797
The CSS4 specifications call for the :nth-match()
pseudo-selectors, but at the present time there is not one available for use. All the current pseudo-selectors are in the context of all elements that it can look at in the current branch. The nth-child(even)
is only being applied to the tr
and not the .X
.
Upvotes: 2