css et aiguillage de navigateur

Bonjour tout le monde,

je ne sais pas comment vous traitez vos problèmes avec IE (car j'en suis sure que vous en avez).
Moi en tout cas je place tout les règles css spécifiques pour ce navigateur de **** dans des feuilles de style spécifiques, différents selon la version du IE. Je pense que c'est la manière la plus propre et la plus valide à faire si on veut éviter des hacks.

Jusque à présent j'ai toujours réalisé cette aiguillage par quelques lignes des php. Oui je sais, du php dans des squelettes SPIP c'est pas bien vue.

Mais cela ne fonctionne plus depuis spip2. Qu'est-ce qui c'est passé? Est-ce qu'on a décidé de ne plus accepter des impropriété php dans des squelettes?

Alors comment dois je faire?
Est-ce qu'il y a une solution spip à ceci?

Voici le php que j'employais jusqu'à maintenant :
<?php
if(strpos($HTTP_USER_AGENT, "MSIE 6") > -1) echo "<link rel=\"stylesheet\" href=\"#CHEMIN{ie6.css}\" type=\"text/css\" />\n";
if(strpos($HTTP_USER_AGENT, "MSIE 7") > -1) echo "<link rel=\"stylesheet\" href=\"#CHEMIN{ie7.css}\" type=\"text/css\" />\n";
?>

Merci pour vos lumières
joz

regarde du côté des commentaires conditionnels :
http://forum.alsacreations.com/faq/faq-53-Qu039est-ce-que-les-commentaires-conditionnels-.html

c'est ce que j'ai trouvé de plus simple pour corriger ie.
Une feuille de style générique pour tous les navigateurs modernes
Une (ou plusieurs) feuille de style de correction pour les différentes version d'ie mise dans un commentaire conditionnel

exemple :

<link rel="stylesheet" type="text/css" href="./style/style.css" />
<!--[if IE]>
  <link rel="stylesheet" type="text/css" href="./style/patchie.css" media="screen" />
<![endif]-->
<!--[if lt IE 7]>
  <link rel="stylesheet" type="text/css" href="./style/patchie-png.css" media="screen" />
<![endif]-->

joz a écrit :

Bonjour tout le monde,

je ne sais pas comment vous traitez vos problèmes avec IE (car j'en suis sure que vous en avez).
Moi en tout cas je place tout les règles css spécifiques pour ce navigateur de **** dans des feuilles de style spécifiques, différents selon la version du IE. Je pense que c'est la manière la plus propre et la plus valide à faire si on veut éviter des hacks.

Jusque à présent j'ai toujours réalisé cette aiguillage par quelques lignes des php. Oui je sais, du php dans des squelettes SPIP c'est pas bien vue.

Mais cela ne fonctionne plus depuis spip2. Qu'est-ce qui c'est passé? Est-ce qu'on a décidé de ne plus accepter des impropriété php dans des squelettes?

Alors comment dois je faire?
Est-ce qu'il y a une solution spip à ceci?

Voici le php que j'employais jusqu'à maintenant :
<?php
if(strpos($HTTP_USER_AGENT, "MSIE 6") > -1) echo "<link rel=\"stylesheet\" href=\"#CHEMIN{ie6.css}\" type=\"text/css\" />\n";
if(strpos($HTTP_USER_AGENT, "MSIE 7") > -1) echo "<link rel=\"stylesheet\" href=\"#CHEMIN{ie7.css}\" type=\"text/css\" />\n";
?>

Merci pour vos lumières
joz

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

irc://irc.freenode.net/spip ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip

Voici le php que j'employais jusqu'à maintenant :
<?php
if(strpos($HTTP_USER_AGENT, "MSIE 6") > -1) echo "<link
rel=\"stylesheet\" href=\"#CHEMIN{ie6.css}\" type=\"text/css\" />\n";
if(strpos($HTTP_USER_AGENT, "MSIE 7") > -1) echo "<link
rel=\"stylesheet\" href=\"#CHEMIN{ie7.css}\" type=\"text/css\" />\n";
?>

Ça ça marche :

<?php
  $agent = $_SERVER['HTTP_USER_AGENT'];
  if (preg_match('/MSIE ([0-9.]*)/', $agent, $matches)) {
    $version = $matches[1];
    print "<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"squelettes/css/iehacks-$version.css\"/>\n";
  } else if (preg_match('/AppleWebKit.[1-4]/', $agent, $matches)) {
    print "<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"squelettes/css/oldsafarihack.css\"/>\n";
  }
?>

Apparemment la variable $HTTP_USER_AGENT a disparu, et il faut aller
voir dans $_SERVER ...

  /v

--
Vincent Beffara
UMPA - ENS Lyon
46 Allée d'Italie
69364 LYON cedex 07
Tel: 04 72 72 85 25
Fax: 04 72 72 84 80

ok, merci, j'avais déjà oublié que cette solution existait.

En faite j'avais utilisé l'aiguillage par php parce que ça arrivait quand même de temps en temps que je devais placer une exception pour un autre navigateur que ie.
Au besoin je vais alors tester la propositions de Vincent, pour l'instant le <!--[if IE]> vas très bien servir.
merci
à bientôt
joz

Pierre Allée wrote:

regarde du côté des commentaires conditionnels :
http://forum.alsacreations.com/faq/faq-53-Qu039est-ce-que-les-commentaires-conditionnels-.html

c'est ce que j'ai trouvé de plus simple pour corriger ie.
Une feuille de style générique pour tous les navigateurs modernes
Une (ou plusieurs) feuille de style de correction pour les différentes version d'ie mise dans un commentaire conditionnel

exemple :

<link rel="stylesheet" type="text/css" href="./style/style.css" />
<!--[if IE]>
    <link rel="stylesheet" type="text/css" href="./style/patchie.css" media="screen" />
<![endif]-->
<!--[if lt IE 7]>
    <link rel="stylesheet" type="text/css" href="./style/patchie-png.css" media="screen" />
<![endif]-->

joz a écrit :

Bonjour tout le monde,

je ne sais pas comment vous traitez vos problèmes avec IE (car j'en suis sure que vous en avez).
Moi en tout cas je place tout les règles css spécifiques pour ce navigateur de **** dans des feuilles de style spécifiques, différents selon la version du IE. Je pense que c'est la manière la plus propre et la plus valide à faire si on veut éviter des hacks.

Jusque à présent j'ai toujours réalisé cette aiguillage par quelques lignes des php. Oui je sais, du php dans des squelettes SPIP c'est pas bien vue.

Mais cela ne fonctionne plus depuis spip2. Qu'est-ce qui c'est passé? Est-ce qu'on a décidé de ne plus accepter des impropriété php dans des squelettes?

Alors comment dois je faire?
Est-ce qu'il y a une solution spip à ceci?

Voici le php que j'employais jusqu'à maintenant :
<?php
if(strpos($HTTP_USER_AGENT, "MSIE 6") > -1) echo "<link rel=\"stylesheet\" href=\"#CHEMIN{ie6.css}\" type=\"text/css\" />\n";
if(strpos($HTTP_USER_AGENT, "MSIE 7") > -1) echo "<link rel=\"stylesheet\" href=\"#CHEMIN{ie7.css}\" type=\"text/css\" />\n";
?>

Merci pour vos lumières
joz

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

irc://irc.freenode.net/spip ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip

--
Please consider your environmental responsibility
before printing this e-mail