2010-10-02 22 views
1

Dans mon CSS, je mets:uibinder littéral Masquer les options css

.someClass { 
    width: literal("expression(this.width > 40 ? 40: true)"); 
} 

Est-ce une syntaxe correcte? J'ai essayé, mais pas de résultat lorsque je débogue avec Firebug sur Firefox. J'essaye de faire le travail de largeur maximum dans IE6.

+1

Je ne connais pas grand-chose à la fonction littérale (les docs sont assez légers: http://code.google.com/p/google-web-toolkit/wiki/CssResource#Literal_function) mais je ne pense pas vous pouvez faire référence à 'ceci ', seulement le document, etc. –

+1

Votre expression conditionnelle semble être fausse, BTW. Il devrait être quelque chose comme 'this.width> 40? 40: this.width' (au moins, c'est la syntaxe pour ce genre d'expressions en C++/Java). –

+0

ya. J'ai fait tester l'expression (this.width) ne semble pas pris en charge dans gwt uibinder – cometta

Répondre

1

Cela peut être utile pour atteindre la largeur max avec IE6: http://www.svendtofte.com/code/max_width_in_ie/

+0

l'article n'a pas mentionné à propos de this.width. et l'article guide uniquement sur la définition de clientWidth entier. Je veux seulement définir maxwidth pour un élément html – cometta

+1

ouais vrai, désolé. avez-vous essayé la solution de contournement avec 'document.getElementById (' id '). offsetWidth' au lieu de 'this'? btw: avez-vous soumis ce problème? http://code.google.com/p/google-web-toolkit/issues/detail?id=5337 – z00bs

1

cela peut être le cas pour le faire en dehors du CSS, JavaScript. Ou si vous faites beaucoup de manipulation DOM alors peut-être envisager d'utiliser jQuery.