Existe-t-il un langage structuré pour déclarer les styles de manière sensée, qui peut ensuite être rendu dans des fichiers css spécifiques au navigateur, comme ce que GWT fait pour Javascript? Il serait idéalement un langage qui supporte les variables, traite les caprices du navigateur et les différences (filtre: alpha vs opacité), fournit une syntaxe intuitive pour les tâches courantes telles que le centrage, et a un moyen d'exprimer les retards pour les moins performants. navigateurs.X est CSS ce que GWT est à Javascript; qu'est-ce que X?
Répondre
La capacité de GWT à générer du code à la volée et sa puissante fonction de «liaison différée» pourrait certainement être appliquée aux feuilles de style et permettre l'optimisation des CSS en temps de construction.
À l'heure actuelle, la «méthode GWT», selon les styles, consiste à inclure tous les styles dont vous avez besoin et à les appliquer en utilisant des «noms de style dépendants». Mais cela conduit définitivement à la perte de CSS inutiles inclus là où ce n'est pas nécessaire.
Je sais qu'il y a au moins une tentative d'optimisation de CSS au moment de la construction. Cela impliquerait de combiner plusieurs feuilles de style séparées en une seule, et de supprimer tous les espaces non essentiels (minification). Je pense que cela pourrait également vous permettre d'utiliser la liaison deffrred pour "optimiser" CSS d'où elle n'est pas nécessaire (ex: styles spécifiques au navigateur).
Sass, comme dans Haml et Sass a une partie de ce que vous cherchez. Il a des variables, des maths, et d'autres goodies.
La version officielle est basée sur Ruby, mais il existe des versions pour d'autres langages comme PHP et Python.
Il ne pourrait pas faire tout ce que vous avez mentionné, mais il vaut la peine de vérifier.
vous pouvez essayer HSS.
Merci pour vos commentaires! Sass et HSS semblent avoir une portée très similaire: des variables simples et des blocs, des blocs imbriqués, des commentaires sur une seule ligne. HSS a l'avantage d'être un sur-ensemble de CSS. StyleInjector est plus ambitieux et plus intéressant. En tirant parti des capacités de liaison différée de GWT et en introduisant des extensions de syntaxe CSS telles que les conditions, cette approche devrait faciliter la définition non seulement des styles propres au navigateur mais aussi des styles spécifiques aux paramètres régionaux. Etre capable de référencer directement d'autres ressources GWT, et de minimiser automatiquement les styles en supprimant et en fusionnant les sélecteurs, est plutôt cool. Je vais certainement suivre ce projet de près.
Pour répondre à ma propre question (encore): Less semble être l'un des projets les plus intéressants à ce jour. Les variables supportant l'extension CSS, les mixins (variables complexes), les règles imbriquées et l'arithmétique simple.
- 1. Qu'est-ce que DES-X?
- 2. Est-ce que 'for x in array' donne toujours x? [Python/NumPy]
- 3. Variables javascript, qu'est-ce que var x = a = {} faire?
- 4. Est-ce que GWT 1.7 prend en charge Class.getSimpleName()?
- 5. Quand vous dites que Ruby est réfléchissant, est-ce que cela se réfère principalement à "dactylographie"?
- 6. Est-ce que IMUL AX est valide?
- 7. Est-ce que cette classe est threadsafe?
- 8. Est-ce que le chargement dynamique CSS et Javascript est hackish ou une bonne pratique?
- 9. Est-ce que cette réaffectation C++ est valide?
- 10. Est-ce que ce setter est 'diabolique'
- 11. Comment est-ce que je fais construire Boost pour i386 sur OS X 64 bits?
- 12. Est-ce que NSShowAllViews et NSShowAllDrawing fonctionnent avec Xcode 3, OS X 10.5.6?
- 13. Est-ce que le plugin bgiframe fonctionne avec jQuery 1.3.x?
- 14. Comment est-ce que je ferais une icône de Menubar draggable pour Mac OS X
- 15. Comment est-ce que π est calculé dans sas?
- 16. Compatible X-UA dans les fichiers JavaScript et CSS
- 17. Que signifie exactement var x: * dans actionscript?
- 18. Est-ce que Linq2XSD est mort?
- 19. Java: Est-ce que SelectionKey.attach() est cassé?
- 20. Est-ce que PHP est international?
- 21. Est-ce que SetEvent est atomique?
- 22. Est-ce que '@' est utilisé en C++?
- 23. Est-ce que free() défragmente?
- 24. Est-ce que MKMapView fuit
- 25. comment est-ce que je traduis ce Haskell en F #?
- 26. Que signifie "{x: Static}" dans XAML?
- 27. Est-ce que c'est nécessaire?
- 28. Est-ce que sed bloque?
- 29. Différence de performances massives SQL avec SELECT TOP x même lorsque x est beaucoup plus élevé que les lignes sélectionnées
- 30. JavaScript Math: Comment est-ce que j'écris ceci?
Malheureusement, il n'est pas encore prêt pour la production. Mais je suis impatient d'y être. Cela ressemble à une bonne solution à certains problèmes de css. – Chii
Essayez CSSResources de GWT 2.0! :) – helios
En effet! ResourceBundle + CSSResource fonctionne bien, et UiBinder l'intègre dans un processus simple et intuitif. GWT 2.0 est un énorme bond en avant pour les concepteurs. –