2010-12-02 5 views
16

En mi aplicación web, quiero tener una tabla donde cada una de las demás filas tenga un fondo diferente. Estoy usando GWT y así en mi archivo UiBinder tengo algo de información de estilo de esta manera:Utilizando el selector de nth-child CSS con UiBinder en GWT

<ui:style> 
    .productlist { 
    cursor: pointer; 
    width: 50em; 
    padding: 10px 10px 0px 10px; 
    } 

    .productlist tr:nth-child(even) { 
    background-color: silver; 
    } 
</ui:style> 

Creo que este es el CSS correcta, ya que funciona en el navegador. Sin embargo, cuando ejecuto la aplicación en modo dev, recibo un bloqueo diciendo que no se puede interpretar el CSS. Si reemplazo "incluso" con "5", aparece un error que dice que Uibinder esperaba <IDENT>.

¿Alguien ha usado anteriormente el selector CSS nth-child con GWT?

+0

enésimo hijo es parte de CSS 3. No está disponible en Internet Explorer 8 y mayores. Ver [este resumen] (http://reference.sitepoint.com/css/pseudoclass-nthchild). GWT intenta ser compatible con IE, también, por lo que no es inesperado, que esto no funciona. Sin embargo, sería bueno si hay una solución alternativa (no creo que la [función literal] (http://code.google.com/webtoolkit/doc/latest/DevGuideClientBundle.html#Literal_function) funcione aquí.) –

+0

In El problema enumerado en la respuesta de z00bs es una solución pero no funciona. Supongo que la verdadera solución es agregar el estilo a cada dos filas programáticamente. –

Respuesta

27

Esto es known issue.

Puede solucionar este problema al escapar el paréntesis para evitar confundir a los pobres analizador GWT CSS:

.productlist tr:nth-child\(even\) { 
    background-color: silver; 
} 
+0

OMG ¡Pensé que me estaba volviendo loco, gracias! – Manu

Cuestiones relacionadas