2009-07-27 12 views
2

Nous développons un widget Html en utilisant Css comme mécanisme de style. Le widget doit être autonome de sorte qu'il n'interfère avec aucun autre composant sur la page Web de l'hôte.Quelle est la meilleure façon de contextualiser un grand nombre de définitions de style Css?

Nous avons un seul fichier Css avec un grand nombre de définitions de style. Pour les contextualiser, chaque seul commence par le nom du conteneur principal widget ...

#MainWidgetContainer .class1..... 
{...} 

#MainWidgetContainer .class2..... 
{...} 

Est-il possible que je peux appliquer le contexte MainWidgetContainer d'une manière plus globale?

Remarque - Peut-être difficile. Je peux vivre comme ça mais je pensais que ça valait le coup de demander.

Répondre

0

Dans ce cas, je pense que votre seule option est d'utiliser l'identifiant de #MainWidgetContainer dans tous vos sélecteurs. Tout ce qui est plus générique risque d'entrer en conflit avec les feuilles de style de l'hôte ou ne sera pas détecté par vos styles. Comme mentionné ci-dessus, vous pouvez utiliser LESS, ou SASS pour réduire l'ennui de l'écriture de cette façon, mais vos styles doivent encore utiliser ce sélecteur.

+0

Comme je le soupçonnais, malheureusement. Je suppose que c'est la raison pour laquelle des produits comme LESS ont été fabriqués. Merci a tous. –

1

Here's the documentation on using selectors. Vous pouvez utiliser l'enfant du conteneur mainwidget. Ce n'est pas la chose la plus intuitive à prendre, mais c'est un vrai gain de temps pour ce genre de choses.

+0

Je sélectionne déjà le "Descendent" du #MainWidgetContainer. Est-ce que l'utilisation du sélecteur "enfant direct" élimine le besoin d'utiliser #MainWidgetContainer dans chaque sélecteur que j'écris? –

+0

Il n'y a aucun moyen de trouver autre que de l'essayer :) C'est seulement CSS. Enregistrez une copie de sauvegarde, puis commencez à déconner. – Sneakyness

3

Jetez un oeil à MOINS: http://lesscss.org/

+0

Je ne savais jamais à ce sujet. Les variables constantes seraient excellentes en elles-mêmes. – DanDan

+0

Ce n'est pas vraiment un CSS. C'est un DSL pour produire du CSS. – Lloyd

+0

Espérons que des outils comme celui-ci aideront à tirer parti de ces fonctionnalités dans la norme. – DanDan