Aide - Recherche - Membres - Calendrier
Version complète : Créer un CSS dédié à IE 9
Forum osCommerce-fr > Oscommerce 2.3 > Design OsC2.3
A.M.
Je suis en train de migrer vers 2.3.1, mais je constate qu'une même page du front office s'affiche différemment entre IE 9 et firefox. Si je modifie la stylesheet.css pour embellir sous IE9, alors c'est la version firefox qui se dégrade, et vice versa. Je souhaiterais créer un .css dédié à IE, et je tombe souvent sur ce code :

CODE
<!--[if lte IE 8]>
<link rel="stylesheet" href="css/ie.css" type="text/css" />
<![endif]-->


Petite question : où l'insérer? Personne ne le dit! J'ai déjà testé plusieurs emplacement, ça ne marche pas.
brouillard
Avant la balise </header>

pour la 2.3 c'est le fichier catalog/includes/template_top.php
brouillard
avant cette ligne
Code
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
A.M.
Ca ne marche pas. wacko.gif Voici mon code :
CODE
<!--[if lt IE 9]>
<link rel="stylesheet" href="css/stylesheet_ie.css" type="text/css" />
<![endif]-->
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
<?php echo $oscTemplate->getBlocks('header_tags'); ?>
</head>
A.M.
J'ai laissé tomber, je me suis contenté du meilleur compromis entre les deux navigateurs.
brouillard
Citation (A.M. @ 3 Apr 2011, 11:17) *
Ca ne marche pas. wacko.gif Voici mon code :
CODE

<link rel="stylesheet" type="text/css" href="stylesheet.css" />
<?php echo $oscTemplate->getBlocks('header_tags'); ?>
</head>


ça pourrait-être comme ceci :

CODE

<?php
$stylesheet = stylesheet.css;
if (stristr($_SERVER['HTTP_USER_AGENT'], 'IE8') {
$stylesheet = ie.css;
}
?>
<link rel="stylesheet" type="text/css" href="<?php echo $stylesheet; ?>" />


Je m'explique, au 1er passage, si HTTP_USER_AGENT ne contient pas 'IE8' la variable $stylesheet reste fixée sur stylesheet.css, dans l'autre cas elle passe à ie.css. Quoi qu'il en soit le href du stylesheet prend la variable $stylesheet.
Une fois que cela fonctionne, tu peux mettre un autre css pour IE6, IE7, IE9 ...

Ps : Pour la vérification de HTTP_USER_AGENT, je ne suis pas sûr que soit IE8 ou IE 8 parce que je travail avec Linux, mais un simple print_r($_SERVER['HTTP_USER_AGENT']) sous IE suffit pour la confirmation.
telede
Comprendre la notion de ces balises ne serait-il pas plus simple ?

LT > Less Than
LTE > Less Than or Equal
GT > Greater Than
GTE > Greater Than or Equal

Un article là dessus pris au hasard : http://webdesignerwall.com/tutorials/css-s...ternet-explorer

wink.gif



FoxP2
sur une version 'vanilla', le framework 960gs permet un affichage à l'identique, quel que soit le navigateur. (seul IE6 casse un peu les pieds)
je suis étonné qu'IE9 pose problème.
brouillard
C'est vrai, surtout qu'avec cette méthode cela ne fonctionne pas, mais avec la méthode que j'ai présenté ça marche très bien wink.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2014 Invision Power Services, Inc.