Attribuer une CSS spécifique selon le navigateur

  • Créateur du sujet Créateur du sujet Membre supprimé 2
  • Date de début Date de début
M

Membre supprimé 2

Invité
Bonjour,

Connaissez-vous un moyen d'attribuer une feuille de style spécifique selon le navigateur ?
Je souhaiterais en utiliser une pour IE6 PC, et une autre pour le reste des navigateurs.

Merci
 
  • J’aime
Réactions: macelene
Bonjour Nicolas et merci de ta réponse.

Je ne souhaite pas faire de hacks sur mes feuilles de style.

J'ai donc testé un code Apache dans une page Html et une autre en PHP, mais dans les 2 cas cela ne fonctionne pas: IE Mac affiche toujours la feuille de style par défaut [HTML / PHP].
Je suppose que Free ne dispose pas de ces fonctionnalités de scripts.

J'ai donc tenté ma chance avec Javascript, de façon a ce qu'il soit directement executé par le navigateur client.
Toujours sur la page de Macromedia, je JS proposé est le suivant:

Bloc de code:
<!--#if expr="\"$HTTP_USER_AGENT\" = /MSIE/ && \"$HTTP_USER_AGENT\"
= /Mac/" -->
<link rel=stylesheet href="styles/mac_ie.css" type="text/css">
<!--#elif expr="\"$HTTP_USER_AGENT\" = /MSIE/ && \"$HTTP_USER_AGENT\" 
= /Windows/" -->
<link rel=stylesheet href="styles/pc_ie.css" type="text/css">
<!--#else -->
<link rel=stylesheet href="styles/default.css" type="text/css"> 
<!--#endif -->

Le code est similaire a celui de All HTML.
J'a donc simplement copié ce JS à la racine de mon FTP, mais dans ce cas, la feuille de style n'est pas chargée sur la page incluant le script.

Je n'ai aucune idée de ce dysfonctionnement, alors qu'à prioris cela marche chez les autres.

NB: j'ai également testé la méthode toute simple consistant à inclure dans le head d'une page:

Bloc de code:
<!--[if IE]><link rel="stylesheet" type="text/css" href="css/iestyles.css" media="screen" /><![endif]-->

...mais la encore, cela ne fonctionne pas :confused:

Help !
 
Dernière édition par un modérateur:
Tu en es où avec ça ?

Je suis tombé sur cette recette, purement CSS, qui s'appuie sur des hacks pour injecter des hacks, du bidouillage, mais bon ;)

Bloc de code:
/*
        [CLIENT] screen master
*/
@import url("core.css");

/* Import WinIEx-only bugs - hide from Mac IE5 \*/
@import url("hacks.win.iex.css");
/* END hide from Mac IE5 */

/*      Import Win IE5x hacks
        ---------------------
*/

@media tty {
        i{content:"\";/*" "*/}} @import 'hacks.win.ie5.css'; /*";}
}/* */

/*      Import Mac IE5 hacks
        --------------------
*/

/*\*//*/
@import url("hacks.mac.ie5.css");
/**/

core.css est le fichier pur jus, les autres sont pour les parties problématiques suivant les navigateurs foireux :)
 
Ne serait-ce pas plus simple d'utiliser un script de type PHP ?
Il faut juste faire attention de commencer le script par spécifier le bon content-type (avec la fonction header()).