2010-03-17 17 views
2

Ceci est à utiliser dans Safari, bien qu'il puisse probablement être utilisé sur Firefox également. Dans Chrome, vous devez ajouter un plugin de toute façon (ce qui permet généralement CSS personnalisé par domaine), et Opera permet déjà cela sans avoir besoin de CSS. Mais alors que c'est pour la personnalisation du côté client, c'est aussi une question CSS pure. Donc I'm using no plugins here.Fichier unique CSS personnalisé de l'utilisateur côté client pour remplacer plusieurs domaines

Donc, encore une fois, j'ai obtenu un code CSS personnalisé (fonctionnant facilement) pour tous les domaines. Maintenant, je veux obtenir le code CSS pour chaque domaine. Le tout avec seulement 1 fichier CSS chargé par Safari.

Sur le web et googling, j'ai trouvé deux façons de faire soi-disant cela, mais aucun n'a réellement fonctionné. Ils sont tous deux documentés sur userstyles.com:

  • @ domaine -moz-document ("your-domain.com") {}. Ce serait parfait, puisque je peux avoir plusieurs balises comme ça et juste choisir quel style sera chargé pour quel domaine. Ça ne marche tout simplement pas.

  • @namespace est assez déroutant et j'ai essayé toutes les variantes auxquelles je pouvais penser. Aucun n'a travaillé.

+0

Firefox prend en charge UserStyles.css. – SLaks

+0

@Slaks cool, alors je devrais corriger mon commentaire sur firefox. – cregox

+0

Je pense que cette question deviendra ancienne avant de trouver une réponse, ce qui signifie qu'elle n'en a probablement même pas aujourd'hui. Pour tous ceux qui ont trébuché ici, je suppose qu'il n'y a aucun moyen de le faire avec CSS seul. – cregox

Répondre

3

Safari ne semble pas soutenir la règle @-moz-document, ce qui expliquerait pourquoi cela n'aurait pas travaillé pour vous. Dans Firefox, la feuille de style suivante fonctionnera:

@namespace url(http://www.w3.org/1999/xhtml); 

@-moz-document domain("stackexchange.com"), domain("stackoverflow.com") { 
    /* your styles here */ 
} 

Cependant, dans Safari 5, il y a une extension appelée User CSS (note: lien vers le site Web du développeur et non à une page dans la galerie d'extensions Safari; caveat emptor) qui vous permettra d'appliquer une feuille de style utilisateur unique à plusieurs sites. (Il semble être l'équivalent rugueux Safari de Stylish.)

En ce qui concerne votre dernier commentaire, je pense que vous avez raison: il semble toujours n'y avoir aucun moyen de le faire uniquement avec CSS.

+0

Et même si nos suppositions sont tout ce que nous avons, c'est tout ce que nous avons. (plus cette extension que vous avez pointée) :) – cregox

0

avez-vous essayé d'installer un <link /> src dynamiquement en fonction du document.domain? Si vous utilisez javascript, c'est. Cela vous permettra de régler le src de la balise de lien vers mydomain.com.css ou myotherdomain.com.css

+0

Je n'ai pas essayé cela, mais je n'utilise pas le javascript du tout. Je ne veux pas non plus. ;) – cregox