2010-03-16 5 views
9

Je voudrais utiliser un sélecteur css pour obtenir uniquement les th tags avec le tbody. Il y a aussi des tags dans la section thead, que je ne veux pas inclure dans le sélecteur. Voici le balisage avec lequel je travaille. Y a-t-il un sélecteur pour accomplir cela?CSS - Sélectionnez les tags uniquement dans le corps d'une table

<table class="bgtable"> 
<thead><tr><td width="40%">&nbsp;</td> 
<th class="tdplain">Grade 4</th> 
<th class="tdplain">Grade 8</th> 
<th class="tdplain">Grade 12</th> 
</tr> 
</thead> 
<tbody><tr><th class="tdplain">Civics (2010)</th> 
<td class="tdplain">769K</td> 
<td class="tdplain">577K</td> 
<td class="tdplain">1179K</td> 
</tr> 
</tbody> 
</table> 

Répondre

5
table.bgtable tbody th { 
/* CSS rules here */ 
} 
+1

Je ne pense pas que ce soit vrai. http://www.w3.org/TR/html4/struct/tables.html#h-11.2.5 <- les groupes de lignes contiennent 'TRs'. 'TRs' contient' TH | TD'. Pouvez-vous lier la spécification qui dit que vous ne pouvez pas avoir un 'TH' dans' TBODY'? – Joel

+0

I 2ème commentaire de Joel. Je ne trouve aucune spécification indiquant que vous ne pouvez pas avoir un 'TH' dans un' TBODY'. – jessegavin

+0

Le validateur du W3C a été un peu lent ce matin. J'ai finalement réussi à charger et à faire un test - vous avez raison! –

3
tbody>tr>th {color:red;} 
1

Bien que la précédente sont valides, on peut encore être plus précis (le css-sélection étant pas performant).

table.bgtable > tbody > th { 
color:red; 
} 

si vous avez plus d'une table, ce qui ne fait pas partie de la classe, vous ne voulez pas l'inclure à la sélection qui est la raison pour laquelle « table.bgtable ».

kwoning vous pouvez embeded e avec autre balise withitn la tbody vous prenez soin de les trouver autrement comme ça: table.bgtable > tbody th

Questions connexes