Charger des CSS différentes pour IE/Firefox

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

Je travaille actuellement sur l'intégration d'un template personnalisé sur Drupal 6.
Je suis partie du thème Newsflash, que j'ai modifié pour y intégrer mon propre graphisme et modifier l'affichage des menus en particulier.
Maline que je suis, je n'ai travaillé que sur Firefox 2 et 3, en m'aidant de Firebug (pratique pour trouver quoi modifier et où dans les CSS), et après une journée acharnée de travail, je suis assez fière du rendu.

Prise d'un doute, je vais vérifier sur IE (je sais, j'aurais du vérifier au fur et à mesure, mais ça m'était sorti de l'esprit, je n'ai pas l'habitude de faire ce genre de boulot, je fais plutôt du Flash d'habitude :/).

Et là, c'est le drame.
Bien sûr, rien n'est calé comme il faut, les boutons sont épouvantables, les menus décalés et coupés, les images pas mieux.
Petite consolation, la superposition de mes div sur laquelle j'ai passé beaucoup de temps s'affiche aussi bien sous Firefox et IE.

Bref, je ne vous demande pas comment recaler mes boutons, je vais chercher avec mon ami Google comme je l'ai fait pour Firefox.

Ma question est en fait la suivante :
Est-il possible, d'une manière plus ou moins "simple", d'ajouter quelque part un bout de script qui chargerait des feuilles de style différentes en fonction du navigateur ?
J'ai vu un "print $styles" au début de mon fichier de template de page, mais je n'ai aucune idée de ce que ça charge ni d'où ni comment :/

Votre aide serait très fortement appréciée alors je vous en remercie d'avance si vous vous arrêtez là pour me lire et encore plus si vous vous arrêtez pour me répondre :P

Forum : 
Version de Drupal : 

Salut,

Dans le fichier page.tpl.php du ton thème tu peux mettre le code suivant juste après "print $styles".

<!--[if lt IE 7]>
<style type="text/css" media="all">@import "<?php print base_path() . path_to_theme() ?>/fix-ie6.css";</style>
<!--[else]>
<style type="text/css" media="all">@import "<?php print base_path() . path_to_theme() ?>/fix-ie7.css";</style>
<![endif]-->

Les fichiers css doivent être placé à la racine de ton thème, au même répertoire que page.tpl.php.

Voilà, j'espère que ça pourra t'aider.

Sinon, tu peux lire cet article http://www.css4design.com/blog/5-reset-css-a-la-loupe-pour-une-remise-a-... pour éviter tous ces problèmes de navigateurs.

Merci beaucoup, je vais essayer ça :)

Par contre, j'ai des CSS qui sont dans des sous répertoires du thème... mais pas grave, je vais essayer de me débrouiller quand même ^^

Merci pour l'info :)

Par contre, j'ai des CSS qui sont dans des sous répertoires du thème... mais pas grave, je vais essayer de me débrouiller quand même ^^

Pour cela il n'y a pas de problème tu peux mettre "/nom-de-ton-répertoire/fix-ie6.css" à la place de "/fix-ie6.css".

Bonjour,

Personnellement j'utilise ça car je me suis rendu compte qu'il y avait quelque soucis avec mes css entre FF et IE mais aussi avec safari

<'link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/mon%20site/style-fasap.css" />

<? php if (ereg("MSIE 7.0", $_SERVER["HTTP_USER_AGENT"])) {

?>
<'link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/nom%20du%20site/fix-ie7.css" /><? php } ?>

<? php if (ereg("Safari/5", $_SERVER["HTTP_USER_AGENT"])) {

?>
<'link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/nom%20du%20site/fix-saf3.css" /><? php } ?>

si tu veux connaitre la version de ton navigateur
<? php echo $_SERVER["HTTP_USER_AGENT"] ; ?>

Cordialement