[SOLUTION] Differencier IE6 IE7 et FIREFOX en CSS
21 messages
• Page 1 sur 2 • 1, 2
-

memopage - Nouveau WRInaute

- Messages: 9
- Inscription: 8 Jan 2008
[SOLUTION] Differencier IE6 IE7 et FIREFOX en CSS
Pour vous éviter comme moi de perdre du temps, je vous poste cette solution.
Objectif : Differencier IE6 IE7 et FIREFOX en CSS pour la compatibilité du design
Pour isoler IE6, exemple :
margin-left:5px !important <- ca c'est pour tout sauf IE6
margin-left:5px <- IE6
Pour isoler IE7 de FIREFOX, exemple :
margin-left:5px !important! <- IE7 va interpreter uniquement ca
margin-left:5px <- FIREFOX
Attention, on m'a dit qu'il y'aura PEUT ETRE des sourcis avec le !important! sous safari, mais bon safari voilà quoi...
Voilà, en esperant que ce post vous soit util !
Bonne soirée
Memopage
Objectif : Differencier IE6 IE7 et FIREFOX en CSS pour la compatibilité du design
Pour isoler IE6, exemple :
margin-left:5px !important <- ca c'est pour tout sauf IE6
margin-left:5px <- IE6
Pour isoler IE7 de FIREFOX, exemple :
margin-left:5px !important! <- IE7 va interpreter uniquement ca
margin-left:5px <- FIREFOX
Attention, on m'a dit qu'il y'aura PEUT ETRE des sourcis avec le !important! sous safari, mais bon safari voilà quoi...
Voilà, en esperant que ce post vous soit util !
Bonne soirée
Memopage
- Stellvia
- WRInaute occasionnel

- Messages: 451
- Inscription: 28 Déc 2004
J'ais rien compris , perso j'utilise ca qui marche tres bien :
- Code: Tout sélectionner
<!--[if IE 7]><style type="text/css"> blabla </style>
<![endif]-->
-

memopage - Nouveau WRInaute

- Messages: 9
- Inscription: 8 Jan 2008
En gros ca permet de tout mettre dans une seule feuille css, c'est moins le bordel apres je trouve.
EN gros tu rajoutes !important à coté de la propriete et IE6 ne vas pas interpreter ca mais IE7 et FIREFOX OUI
Pour differencier IE7 de FIREFOX tu mets !important! à coté de la propriete et FIREFOX ne va pas l'interpreter mais IE7 OUI
Voilà, j'espere avoir été clair.

EN gros tu rajoutes !important à coté de la propriete et IE6 ne vas pas interpreter ca mais IE7 et FIREFOX OUI
Pour differencier IE7 de FIREFOX tu mets !important! à coté de la propriete et FIREFOX ne va pas l'interpreter mais IE7 OUI
Voilà, j'espere avoir été clair.
-

memopage - Nouveau WRInaute

- Messages: 9
- Inscription: 8 Jan 2008
Pour moi, si on respecte bien les standards CSS2 et qu'on organise le site correctement, il n'y aura pas beaucoup de differences entre IE et FIREFOX, et dans ce cas cette astuce ce fait sur 1 ou 2 propriétés max (margin, padding...).
Deux feuilles de styles ne me semblent donc pas necessaire. De plus si javascript est desactivé, la soluce
Mais bon apres chacun à ses habitudes
Deux feuilles de styles ne me semblent donc pas necessaire. De plus si javascript est desactivé, la soluce
- Code: Tout sélectionner
<!--[if IE 7]><style type="text/css"> blabla </style>
<![endif]-->
Mais bon apres chacun à ses habitudes
-

MarvinLeRouge - WRInaute impliqué

- Messages: 526
- Inscription: 1 Sep 2004
+1 pour le commentaire conditionnel : je l'utilise au quotidien à mon boulot; c'est propre, clair, et ça évite d'utiliser des hacks qui, de toute façon, risquent de poser problème à un moment ou à un autre, et gènent la lisibilité et la maintenabilité des sites.
- Koxin-L
- WRInaute passionné

- Messages: 1925
- Inscription: 29 Mar 2007
memopage a écrit:Pour moi, si on respecte bien les standards CSS2 et qu'on organise le site correctement
Faux.
IE est tellement irrespectueux de quelques principes que dés que l'on rend un peu plus complexe un affichage via css, il est totalement largué.
milkiway a écrit:Pourquoi s'embêter avec du "faux code" alors que, comme dit ci dessus, <!--[if IE ]> fonctionne très bien et est valide
Parce que <!--[if IE ]> c'est aussi du faux code, même si c'est mis en place par crosoft, cela ne respect rien du tout...
Y a pas à avoir de if machin. On fait un logiciel correctement ou l'on assume que les gens utilise des hacks.
MarvinLeRouge a écrit:...et ça évite d'utiliser des hacks qui, de toute façon, risquent de poser problème à un moment ou à un autre, et gènent la lisibilité et la maintenabilité des sites.
N'importe quoi.
C'est pas pire de coller 3 ou 4 hacks dans 1 CSS que de se farcir des conditions dans tous les sens sur tes pages.
-

bproductiv - WRInaute accro

- Messages: 4173
- Inscription: 27 Déc 2004
memopage a écrit:Pour moi, si on respecte bien les standards CSS2
Hum hum, je viens de voir ton autre post où tu demande notre avis sur un de tes sites d'aikido -> 260 erreurs W3C, c'est pas trop respecter les standards ca...
memopage a écrit:Deux feuilles de styles ne me semblent donc pas necessaire. De plus si javascript est desactivé, la solucene marche pas.
- Code: Tout sélectionner
<!--[if IE 7]><style type="text/css"> blabla </style><![endif]-->
Tu vois où du javascript là??
-

MarvinLeRouge - WRInaute impliqué

- Messages: 526
- Inscription: 1 Sep 2004
Koxin-L a écrit:milkiway a écrit:Pourquoi s'embêter avec du "faux code" alors que, comme dit ci dessus, <!--[if IE ]> fonctionne très bien et est valide
Parce que <!--[if IE ]> c'est aussi du faux code, même si c'est mis en place par crosoft, cela ne respect rien du tout...
Y a pas à avoir de if machin. On fait un logiciel correctement ou l'on assume que les gens utilise des hacks.
Pas d'accord : ils ont implémenté un machin propriétaire; sur ce point-là, rien à dire. MAIS ils l'ont fait de façon intelligente, c'est déclaré de façon à être considéré comme un commentaire html par tout soft autre que celui auquel c'est destiné. Dans ce sens là, ça respecte une vraie syntaxe de commentaire; c'est un peu tordu, mais c'est à mon avis (et je suis loin d'être le seul à penser ça) une des solutions les plus propres à l'heure actuelle.
Koxin-L a écrit:MarvinLeRouge a écrit:...et ça évite d'utiliser des hacks qui, de toute façon, risquent de poser problème à un moment ou à un autre, et gènent la lisibilité et la maintenabilité des sites.
N'importe quoi.
C'est pas pire de coller 3 ou 4 hacks dans 1 CSS que de se farcir des conditions dans tous les sens sur tes pages.
Pas d'accord non plus : je ne me farçis pas (pas plus que des tas d'autres personnes) des conditions dans tous les sens, j'ai simplement un en-tête de page, avec un commentaire conditionnel pour IE6, que je copie-colle sur toutes mes pages. D'autre part, un hack css repose généralement sur une utilisation volontaire d'une erreur d'interprétation grammaticale; je préfère amplement utiliser une fonctionnalité d'un navigateur, qui ne sera interprétée que par lui, que prendre un bug pour en corriger un autre (ce qui posera un pb le jour ou l'un ou l'autre sera corrigée, ou qu'un autre navigateur aura l'un de ses 2 bugs ou ...).
-

milkiway - WRInaute accro

- Messages: 4910
- Inscription: 3 Fév 2004
Heu,Koxin-L a écrit:memopage a écrit:Pour moi, si on respecte bien les standards CSS2 et qu'on organise le site correctement
Faux.
IE est tellement irrespectueux de quelques principes que dés que l'on rend un peu plus complexe un affichage via css, il est totalement largué.milkiway a écrit:Pourquoi s'embêter avec du "faux code" alors que, comme dit ci dessus, <!--[if IE ]> fonctionne très bien et est valide
Parce que <!--[if IE ]> c'est aussi du faux code, même si c'est mis en place par crosoft, cela ne respect rien du tout...
Y a pas à avoir de if machin. On fait un logiciel correctement ou l'on assume que les gens utilise des hacks.MarvinLeRouge a écrit:...et ça évite d'utiliser des hacks qui, de toute façon, risquent de poser problème à un moment ou à un autre, et gènent la lisibilité et la maintenabilité des sites.
N'importe quoi.
C'est pas pire de coller 3 ou 4 hacks dans 1 CSS que de se farcir des conditions dans tous les sens sur tes pages.
Le IF fonctionne n'est pas du "code" c'est juste un commentaire HTML qu'IE sait interpréter.
Je trouve ça ridicule de parler d'IE comme ça, on dirait un gamin de geek qui veut cracher sur du microsoft. Libre à toi de faire un hack mais je trouve stupide de charger une grosse feuille là où (quand c'est le cas) un simple commentaire suffit.
Enfin, si tu savais utiliser le CSS, tu serais capable de te rendre compte qu'un site bien codé passe sans problèmes sur IE, sauf effets vraiment exceptionnel (qui sont facultatifs). Sur mon site http://www.nicetrotter.fr/ je n'ai aucun hack, aucun IF et ça foncitonne sur IE...
Par contre il faut savoir coder.
- Koxin-L
- WRInaute passionné

- Messages: 1925
- Inscription: 29 Mar 2007
Pffff, arrête de faire ta quiche...
Ouais, design digne d'un template à 5€.
Tu codes comme une tanche...
Moi, je te dis que je code correctement, même si j'ai pas forcement du 100% valide, et que les hacks n'encombrent pas plus que les condition, voir moins justement parce que je sais faire une css.
Et les commentaire font partie intégrante d'un code, donc, sont des codes.
Moi, critique de crosoft ? Je me marre. On a pas le droit de dire que il est correct d'utiliser des hack face à un nav mal codé ?
Par contre :
Ouahhhh, un template à 1€ et un css avec 3 div, quel puissance...
Je m'incline devant tant de grandeur.
Baltringue.
Ouais, design digne d'un template à 5€.
Tu codes comme une tanche...
Moi, je te dis que je code correctement, même si j'ai pas forcement du 100% valide, et que les hacks n'encombrent pas plus que les condition, voir moins justement parce que je sais faire une css.
Et les commentaire font partie intégrante d'un code, donc, sont des codes.
Moi, critique de crosoft ? Je me marre. On a pas le droit de dire que il est correct d'utiliser des hack face à un nav mal codé ?
Par contre :
milkiway a écrit:Sur mon site http://www.nicetrotter.fr/ je n'ai aucun hack, aucun IF et ça foncitonne sur IE...
Par contre il faut savoir coder.
Ouahhhh, un template à 1€ et un css avec 3 div, quel puissance...
Je m'incline devant tant de grandeur.
Baltringue.
-

NxtGen - WRInaute impliqué

- Messages: 762
- Inscription: 24 Oct 2006
urf ca balance sec...
Pour remettre le topic dans le droit chemin :
Personnellement j'ai utilisé pour nombreux de mes sites l'astuce !important pour différencier IE<7 et FF et autres, mais avec l'arrivée d'IE7 qui interpréte le css un peu mieux que IE6, ca à foutu un peu le bazard.
Du coup, pour les nouveaux sites que je développe, j'utilise ça :
le global.css est la feuille de style principale, et je rattrape les petites différences si besoin avec une feuille de style dédiée par navigateur
Je trouve cela plus pratique que le !important puisque meme s'il y a une nouvelle évolution des navigateurs, cette astuce restera normalement fonctionnelle.
Pour remettre le topic dans le droit chemin :
Personnellement j'ai utilisé pour nombreux de mes sites l'astuce !important pour différencier IE<7 et FF et autres, mais avec l'arrivée d'IE7 qui interpréte le css un peu mieux que IE6, ca à foutu un peu le bazard.
Du coup, pour les nouveaux sites que je développe, j'utilise ça :
- Code: Tout sélectionner
<style type="text/css" media="all">@import url("global.css");</style>
<!--[if lt IE 7]>
<style type="text/css" media="all">@import url("global-ie6.css");</style>
<![endif]-->
<!--[if IE 7]>
<style type="text/css" media="all">@import url("global-ie7.css");</style>
<![endif]-->
le global.css est la feuille de style principale, et je rattrape les petites différences si besoin avec une feuille de style dédiée par navigateur
Je trouve cela plus pratique que le !important puisque meme s'il y a une nouvelle évolution des navigateurs, cette astuce restera normalement fonctionnelle.
21 messages
• Page 1 sur 2 • 1, 2
Lectures recommandées sur ce thème :
- Affichage affreux sur Ie6 mais Ie7 et Firefox parfait
- Callage Css Firefox et IE7
- [CSS] Différence IE7 / FireFox
- Divergences entre IE6 et IE7
- bug adsense sous ie6 + ie7
- Windows 7 : faire cohabiter IE7 et 8 ? Ou autre solution ?
- IE6 et CSS height
- [CSS] : scroller overflow et ie6 :-(
- text scriplet sous IE7 et Firefox
- [resolu]problème css IE6
- Afficher le PageRank en entier dans Firefox (barre d'outils Google)
- Google crawle les fichiers CSS
- Les visiteurs de WRI apprécient Firefox
- Comment voir facilement les liens nofollow dans Firefox
- L'extension Web Developer pour Google Chrome
- Fin de la barre d'outils Google pour Firefox
- Parts de marché des moteurs aux USA (Décembre 2006)
Consultez la description détaillée des produits ou services de Google suivants : Google Speed Tracer, Google Send to Phone
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités
