Page 1 sur 1

Selection d'un fichier .css selon le navigateur

Posté : 30 sept. 2007, 20:57
par Volkow
Bonjour à tous, chers confrères ^^,

J'aimerais savoir s'il existe un script permettant de sélectionner le fichier style.css de mon site selon le navigateur du visiteur.

Car j'ai quelques petits problèmes avec l'affichage de mon site sous I.E vu que j'utilise MFF.

:)

Je vous remercie.

Posté : 30 sept. 2007, 23:33
par Calimero
Bonsoir,

Il y a même mieux qu'un script : les commentaires conditionnels.

Code : Tout sélectionner

<!--[if IE]> <link href="ie_seulement.css" rel="stylesheet" type="text/css" /> <![endif]--> <!--[if !IE]> <--> <link href="tous_browsers_sauf_ie_windows.css" rel="stylesheet" type="text/css" /> <!--> <![endif]-->
Ainsi tu peux séparer clairement la feuille de style pour les navigateurs conformes aux standards (ou qui cherchent à l'être) et l'autre qui contient les bidouillages nécessaires pour Internet Explorer. Et en plus ton document (x)HTML reste valide :D

Les commentaires conditionnels peuvent même te servir à distinguer les versions d'IE, pour plus d'infos je t'invite à consulter ce lien ;-)

Posté : 30 sept. 2007, 23:41
par Volkow
Impec!!

Merci Calimero!!

Bonne nuit!

Posté : 30 sept. 2007, 23:49
par Calimero
Pas de problème, bonne nuit à toi également...

Si la femme de ménage passe par là et peut donner un bon coup de balai pour envoyer ce sujet dans le bon forum au passage ;-) Merci !

Posté : 30 sept. 2007, 23:51
par Volkow
EDIT: tout est parfait, merci de ton aide!!

Bonne nuit!

Posté : 30 sept. 2007, 23:56
par Calimero
(On voit ça par MP ok?)
Pas de problème, mais autant voir ça ici, d'autres pourraient être intéressés. Au passage, c'est quoi ce "MFF" ?

Posté : 30 sept. 2007, 23:57
par Volkow
(Message précédent edité)

MFF= Mozilla FireFox.

^^

Posté : 01 oct. 2007, 06:08
par Cyrano
Attention avec ce bidouillage, toutes les versions de IE ne sont pas à mettre dans le même sac. Les différences entre IE6 et IE7 peuvent être importantes et malgré tout, IE7 pose largement moins de problèmes, donc le hack conditionnel pour savoir quelle feuille de style charger devrait tenir compte de la version (si < 7)

Posté : 01 oct. 2007, 09:07
par Berzemus
Pour différencier IE7 e 6, microsoft à prévu d'autres commentaire conditionnelles:

Code : Tout sélectionner

< !--[if lte IE 7]>< link rel="stylesheet" href="ie7.css" type="text/css" />< ![endif]--> < !--[if lte IE 6]>< link rel="stylesheet" href="ie6.css" type="text/css" />< ![endif]-->
mais je préfère la solution tout en css, sinon on dirait de l'html généré par word.. bwah.

Posté : 02 oct. 2007, 01:08
par Joss850csi
Slt,

Petite question comme ça :

est-ce mieux de faire 2 feuilles css separé ou utiliser les conditions : { !important;} pour IE ?

Posté : 02 oct. 2007, 06:38
par Cyrano
Le projet sur lequel je suis a forcé un peu l'utilisation d'une feuille de style spécifique pour IE6 : dans la mesure où cette feuille de style est chargée APRÈS l'autre, les valeurs des propriétés définies dans la seconde écrasent celles de la première. Donc le !important est inutile. Et cette feuille de style n'est chargée QUE si le navigateur est IE dans une version inférieure à 7, élément qu'on peut détecter avec une variable d'environnement PHP ($_SERVER['HTTP_USER_AGENT'])