2010-08-13 4 views
5

Je réalise que l'analyseur CSS utilisé par GWT ne traitera que CSS2, mais je cible iPhone Safari, donc je veux être capable d'utiliser certaines choses CSS3. Pour les propriétés, j'ai bien utilisé la fonction literal fournie par GWT, mais j'ai des problèmes avec les sélecteurs CSS3 - en particulier la pseudo-classe not().Comment faire pour GWT CSSResource pour analyser les sélecteurs not()

J'ai un peu de CSS comme ceci:

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

Lorsque des charges GWT ce fichier en tant que ressource, je reçois:

rencontré "(" Je me attendais un des:. « { "", »

la fonction literal fonctionne bien pour les propriétés, mais j'ai essayé ceci:

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

et je viens juste un autre message d'erreur:

rencontré "" pas (.__ Lod): "". Je me attendais un des: <IDENT>

Je mets literal autour du bloc entier et le message d'erreur suis parti, mais je ne pense pas que cela fonctionnera sans @external tout ing référencé dans les sélecteurs qui utilisent ce (il y a beaucoup d'autres dans ce fichier).

  1. Est-ce que cela fonctionnerait même?
  2. Y at-il une façon plus gracieuse de le faire?
+0

je comprendrais un peu « cool » CSS3 comme les transitions, etc., mais ': not' vaut à peine l'effort - chemin parce que la seule « élégante » que je vois est juste le piratage Analyseur CSS pour accepter les sélecteurs CSS3. –

+0

Le problème est que j'hérite le fichier CSS de quelqu'un d'autre. J'ai accès à l'éditer mais je ne souhaite pas tout recréer. Quel est l'équivalent css2 de la déclaration ci-dessus? Je ne pense pas qu'il y en ait un facile? – jhericks

Répondre

7

Vous échappez les parenthèses dans le sélecteur avec des barres obliques inverses. Donc, pour votre CSS:

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

Merci pour votre réponse, mais j'avais renoncé à cela il y a longtemps donc je n'ai pas le code pour le tester. – jhericks

+0

Oh bien. C'est là pour la postérité :-) –

+2

+1 Cela fonctionne. Il vaut la peine de noter que des sélecteurs not not not() peuvent être échappés en utilisant suffisamment de barres obliques inverses. Par exemple, 'not ([type =" search "])' devient 'non \ (\ [type \ = \" search \ "\] \)'. –

Questions connexes