(encore) un problème de css

Bonjour à tous

Voila, je suis en train de devellopper un petit site pour l’association des jeunes de mon village : www.sjattert.info, sous Firefox, pas de problème, il s’affiche comme il faut.

Sous IE par contre, les div #contenu et #box sont décallé de quelques pixels vers la gauche et le div #menu est tout bonnement invisible :stuck_out_tongue:

Quelqu’un a-t-il une idée ? (bien sûr j’ai déjà essayé de régler les tailles, mais quand ca marche sous IE, c’est sous Firefox que ca passe plus :stuck_out_tongue:

Tu peux faire un style CSS pour chaque navigateur.
Un ptit script javascript qui détecte le navigateur et qui prend:

si(nav=firefix)  style = style_ff.css sinon  style = style_ie.css
Bon ça c’est un exemple pour te donner l’idée bien sur…

j’y avais pensé… mais si il y a un autre moyen que d’utiliser JavaScript, ca me plairait mieux :stuck_out_tongue:

Tu peux aussi passer par du PHP aussi si tu préfère au langage barbare du javascript :stuck_out_tongue:

Je me rappelle plus de la fonciton pour récupérer les version des navigateurs sous PHP, mais ça existe (et c’est même plus précis)!

Edit: j’ai retrouvé la fonction sur php net

get_brower()

En PHP, il y a les variables d’environnement pour détecter un navigateur.

[code]<?php
if ($_SERVER[« HTTP_USER_AGENT »] == gnagna) {?>

<? }else{ ?> <? } ?>[/code]

Edit : Je viens de m’apercevoir que j’avais mis des %> … évdiemment c’est des ?> … My bad :stuck_out_tongue:

Je crois avoir avoir eu le même problème une fois et c’était lié aux marges des navigateurs qui ne rendaient pas pareil entre IE et FF, tu peux essayer en mettant toutes tes margin a 0 pour voir.

Je ne sais pas s’il y a une autre solution que de faire des hacks css. Tu as là ( http://centricle.com/ref/css/filters/ ) une liste des règles qu’interprètent certains navigateur tandis que d’autres les ignorent (ce ne sont pas les seules, tu en trouveras bien d’autres sur le net).
Comme l’a dit Nickiller il y a un probleme de modèle de boite, quand un navigateur ajoute la taille des padding à la taille d’une div, l’autre inclus les padding à l’interieur de la div.
Donc, par exemple, si tu rajoutes à ton css des regles speciales ie (la règle * html est utilisée arbitrairement, il y a surement des trucs plus courts)

[code]* html div#contenu{
   width: 440px;
   margin-left: 8px;
}

  • html div#box {
       margin-right: 8px;
    }[/code]
    tu reverras ton menu :stuck_out_tongue:
    Pareil pour la taille de la police d’ecriture, l’héritage de la taille n’est pas géré de la même façon pour les gros titre apparemment…

Par contre essaie de mettre la doctype transitional plutôt que la strict… Ca aidera peut-être à mieux interprêter.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &nbsp; "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">