2009-01-28 11 views
4

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

3

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).

StyleInjector

+0

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

+0

Essayez CSSResources de GWT 2.0! :) – helios

+0

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. –

6

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.

0

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.

2

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.

Questions connexes