28220 sujets

CSS et mise en forme, CSS3

Bonsoir,
J'ai besoin de centrer horizontalement dans la fenêtre du navigateur un <div> en position absolue. J'ai vu que l'on peut utiliser un
left: 50% ;
margin-left: -(largeur du <div>/2) ;
. Mais dans un post on m'a déconseillé cette solution, car certains navigateurs n'apprécient pas les marges négatives. Or avec des
width:XXXpx;
margin-left: auto;
margin-right: auto;
Comme pour les <div> flottant, cela ne fonctionne pas. Pourquoi ? Parce que l'on sort le <div> du flux normal ?
N'existe-t-il que la solution de la marge gauche négative ?
Merci pour le coup de main.
Modifié par krakkos (05 Jan 2006 - 08:04)
Tu es sûr que la deuxième solution ne marche pas ?

Pour centre en horizontal, ça devrait pourtant être bon. C'est pour centrer en vertical qu'il n'y a (à ma connaissance) que le truc de la marge négative.

Par contre avec un
margin-left: auto; margin-right: auto;

Ça ne passe pas bien dans Internet Explorer, à moins que l'élément parent n'indique
text-align: center;

Là ça marche dans IE également, mais il faudra faire attention à repréciser l'alignement du texte si on en veut un de différent dans l'élément enfant.