8792 sujets

Développement web côté serveur, CMS

Tout d'abord, bonjour tout le monde !

Alors voilà, le problème est que je voudrais différencier le style de mon site en fonction du navigateur.
Je voudrais utiliser cette fonction HTML :
<!--[if IE]>
<![if gte IE 7]>
<![endif]-->
<link rel="stylesheet" href="ie7-and-others.css" type="text/css" />
<!--[if IE]>
<![endif]>
<![endif]-->

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


qui différencie d'un côté Internet Explorer < 7 et d'un autre côté les autres navigateurs (Internet Explorer 7 et autres).

Or, mes feuilles de style sont en *.php car j'utilise des variables pour changer le style graphique.
Donc pour charger mes feuilles, je fais :
<?php
	include('templates/style.php');
?>


Donc ma question est : comment je peux faire cohabiter la différenciation de navigateurs avec l'appel à ma feuille de style ?
En gros, je voudrais faire çà :
<!--[if IE]>
<![if gte IE 7]>
<![endif]-->
<?php
	include('templates/ie7-and-others.php');
?>
<!--[if IE]>
<![endif]>
<![endif]-->

<!--[if lt IE 7]>
<?php
	include('templates/ie-lt-7.php');
?>
<![endif]-->


Si quelqu'un a une idée, merci d'avance !!!
Smiley cligne
À ma connaissance on ne peut pas imbriquer les commentaires conditionnels. Smiley sweatdrop

La pratique la plus courante et sans doute la plus fiable consiste à avoir une feuille de style principale (tous navigateurs, dont IE6 et inférieurs), et une feuille de correctifs pour IE6 et inférieurs (voir pour IE7), où l'on se contentera de rajouter/modifier les propriétés voulues.

À moins de vouloir faire deux mises-en-page complètement différentes, c'est tout à fait jouable ainsi.

Les fonctions PHP pour récupérer l'information sur le « user agent » et tenter de déterminer à partir de ça à quel navigateur on a affaire sont autant que possible à proscrire, car moyennement fiables.

Pour un commentaire conditionnel « inversé » toutefois, il me semble que Laurent Denis proposait quelque chose dans cet article, mais j'ai souvenir d'un cas où la syntaxe proposée posait problème... à vérifier, si besoin.
Merci pour ta réponse !

Mais j'avais déjà aperçu cette fonction et çà ne convient pas, puisqu'il faut que j'arrive à différencier d'une part IE de version inférieure à la 7 et d'autre part IE7 et les autres navigateurs...

[EDIT] Mince, j'avais pas vu ta réponse Florent. Et effectivement, j'avais pas pensé à faire une feuille principale pour tous les navigateurs et des feuilles correctrices ensuite... Merci beaucoup, je crois que je vais utiliser cela, puisque la détection de navigateur en php n'a pas l'air très fiable d'après les articles. [/EDIT]

Merci encore à vous deux ! Smiley cligne
Modifié par Frac (28 Jan 2007 - 16:47)