Ajouter une feuille de style en fonction du navigateur (php)
Plutôt que des hacks css ou des adaptations via javascript (j'ai rien contre les gars, tapez pas),
je passe parfois par php pour charger une feuille css spécifique pour corriger certains problèmes particuliers...
Je charge une feuille css générale (par exemple style.css) et je crée (si besoin) les feuilles de correction (style-ie6.css style-ie7.css etc)
Ensuite, le code php suivant charge les feuilles de corrections par navigateur...
<?php //charger des css adaptes au navigateurfunction Navigateur(){ // renvoie le navigateur et sa version // ex : ff3 =firefox 3 $s=$_SERVER['HTTP_USER_AGENT']; $ie=strpos(' '.$s,'MSIE'); $fi=strpos(' '.$s,'Firefox'); $ch=strpos(' '.$s,'Chrome'); $op=strpos(' '.$s,'Opera'); $sa=strpos(' '.$s,'Safari'); if ($ie>0){ $version=substr($s,$ie+4,1); return 'ie'.$version; } if ($fi>0){ $version=substr($s,$fi+7,1); return 'ff'.$version; } if ($ch>0){ //$version=substr($s,$ch+6,2); return 'Chrome'; } if ($op>0){ //$version=substr($s,$ch+6,2); return 'opera'; } if ($sa>0){ //$version=substr($s,$ch+6,2); return 'safari'; } } // loads common base css echo ' <link rel="stylesheet" type="text/css" href="http://www.warriordudimanche.net/style.css" />'."\n"; //loads special css page (if exists) echo ' <link rel="stylesheet" type="text/css" href="http://www.warriordudimanche.net/style-'.Navigateur().'.css').'" />';
?>
On peut améliorer l'ensemble en ne renvoyant le lien de correction que si la feuille existe.
✍ Écrire un commentaire
les commentaires relevant du SPAM seront filtrés et dégagés direct...