2012-05-04 7 views
57

Debería ser muy simple pero no lo puedo descifrar.Aplicar estilo a las celdas de la primera fila

Tengo una tabla como la siguiente:

<table class="category_table"> 
<tr><td> blabla 1</td><td> blabla 2 </td></tr> 
<tr><td> blabla 3 </td><td> blabla 4 </td></tr> 
</table> 

Quiero hacer td etiquetas de primera fila tienen trvertical-align. Pero no la segunda fila.

.category_table td{ 
    vertical-align:top; 
} 
+0

http://stackoverflow.com/questions/613284/css-apply-style-to-first-level-of-td-only –

+0

Sí, he visto esa página antes de hacer una pregunta. No funcionaba. – xperator

Respuesta

124

Uso tr:first-child para tomar la primera tr:

.category_table tr:first-child td { 
    vertical-align: top; 
} 

Si ha tablas anidadas, y usted no quiere aplicar estilos a las filas interiores, añadir algunos selectores de hijos por lo que sólo la parte superior -level td s en el primer nivel superior tr obtienen los estilos:

.category_table > tbody > tr:first-child > td { 
    vertical-align: top; 
} 
+0

En realidad lo intenté antes, no está funcionando. No estoy seguro por qué. – xperator

+0

No lo sé tampoco. Tengo 100% de confianza de que esto funciona para todos los principales navegadores. – BoltClock

+0

Cuando comparo las etiquetas 'td' de la primera y la segunda fila en FireBug, puedo ver la primera fila Hereda el estilo pero la segunda fila no. ¡No sé por qué la segunda fila está alineada verticalmente! – xperator

3

Esto debería hacer el trabajo:

.category_table tr:first-child td { 
    vertical-align: top; 
} 
0

A continuación las obras de primera tr de la mesa bajo thead

table thead tr:first-child { 
    background: #f2f2f2; 
} 

Y esto funciona por primera tr de thead y tbody tanto:

table thead tbody tr:first-child { 
    background: #f2f2f2; 
} 
Cuestiones relacionadas