Problème css dans safari

p4bl0

Membre expert
Club iGen
12 Juillet 2004
4 772
423
34
$PWD
p4bl0.net
Bonjour !

j'ai un problème avec le centrage de ma page sous safari (ça marche avec IE PC et Firefox) :

en fait, ma page est contenu dans une div et je la centre comme ça :
voilà le html :
Bloc de code:
// ...........
<div id="contents">
//........
</div>
//..........
voilà le css :
Bloc de code:
#contents { 
    position:relative;
    width: 800px;
    margin-left: -400px;
}

Ce code centre bien ma page sous firefox et IE pc, mais pas sous Safari (la motié de la page dépasse de la fenetre sur la gauche)

Si je rajoute "left: 50%;" dans le css, ça marche sous safari, mais plus sous IE ni firefox (la motié de la page dépasse de la fenetre sur la droite)...



Comment faire ?


merci :zen:
 
En fait tu devrais faire un truc comme ça :
Bloc de code:
#contents { 
    position:relative;
    width: 800px;
    margin-left: auto;
    margin-right: auto;
}
/*et le hack pour ie*/
html>body #contents { 
    text-align: center;
}
;)
 
pour centrer ton div principal il faut faire comme cela :

Bloc de code:
    position: relative;    
    width: 700px;   /*ta taille voulue*/
    margin-left: auto; 
    margin-right: auto;

ça fonctionne ?

edit : snif, pas assez rapide :casse:
 
Houlà je me suis mélanger les pinceaux avec le hack IE/WIN :rose:

Bloc de code:
#contents { 
    position:relative;
    width: 800px;
    /*hack IE6*/
    text-align: center;
}
/*le code correct pour les navigateurs qui respectent les standards*/
html>body #contents { 
    margin-left: auto;
     margin-right: auto; 
     
}
 
Pour que ça marche partout sans pb (même Explhorreur Windows) :
le bloc Contents sera centré.

Bloc de code:
body
{  text-align: center ;
}
div#contents
{  text-align: left ;
   margin-left: auto ;
   margin-right: auto ;
   width: 800px ;
}
Je n'aime pas les Hack :)

Le text-align center, c'est pour windows IE.
Et pour les bons navigateurs, les options margin auto nécessitent une width obligatoirement.