2010-08-13 8 views
5

Me doy cuenta de que el analizador de CSS que utiliza GWT solo manejará CSS2, pero estoy apuntando a iPhone Safari, así que quiero poder usar algunas de las cosas de CSS3. Para las propiedades, he estado bien usando la función literal proporcionada por GWT, pero estoy teniendo problemas con los selectores de CSS3, particularmente la pseudoclase not().Cómo obtener GWT CSSResource para analizar los selectores no()

Tengo un poco de CSS como esto:

.iMore:not (.__lod):active { 
    color: #fff 
} 

Cuando GWT cargas este archivo como un recurso, me sale:

encontró "(" esperaba uno de: ". { "","

la función literal funciona bien para las propiedades, pero traté de esto:

.iMore:literal("not (.__lod)"):active { 
    color: #fff 
} 

y acaba de recibir un mensaje de error diferente:

encontrado "" No (.__ lod): "". Esperaba uno de: <IDENT>

puse literal alrededor de todo el bloque y el mensaje de error se fue, pero no creo que funcione sin @external ing todo lo que se hace referencia en los selectores que utilizan este (hay muchos otros en este archivo).

  1. ¿Eso funcionaría?
  2. ¿Hay una forma más elegante de hacerlo?
+0

lo entendería un poco de CSS3 "fresco", como las transiciones, etc., pero ': not' no vale la pena el esfuerzo - porque la única manera "elegante" que veo es sólo la piratería de la Analizador de CSS para aceptar selectores de CSS3. –

+0

El problema es que estoy heredando el archivo CSS de otra persona. Tengo acceso para editarlo, pero me gustaría no recrearlo todo. ¿Cuál es el equivalente css2 de la declaración anterior? No creo que haya uno fácil allí? – jhericks

Respuesta

7

Se salta el paréntesis en el selector con barras diagonales inversas. Así que para su CSS:

.iMore:not \(.__lod \):active { 
    color: #fff 
} 
+1

Gracias por su respuesta, pero había renunciado a esto hace mucho tiempo, así que no tengo el código para probarlo. – jhericks

+0

Oh bien. Está ahí para la posteridad :-) –

+2

+1 Esto funciona. Vale la pena señalar que incluso los selectores no() más retorcidos pueden evitarse utilizando suficientes barras invertidas. Por ejemplo, 'not ([type =" search "])' se convierte en 'not \ (\ [type \ = \" search \ "\] \)'. –

Cuestiones relacionadas