2011-04-17 4 views
3

Possible en double:
How to center horizontally div inside parent divComment faire un div horizontalement se centrer dans un autre div?

Je donne les résultats suivants:

<div id="a"> 
<div id="b">abc</div> 
</div> 

Ma première div "a" est de style à 100% de la largeur de l'écran. Je voudrais faire apparaître div "b" horizontalement au centre. Je sais que je peux le faire avec des tables, mais y a-t-il un moyen de le faire avec seulement des div et des CSS?

quelqu'un Hope peut aider

Répondre

4

Vous pouvez définir les margin-left et margin-right propriétés à auto. Selon CSS2.1 § 10.3.3 vous devez spécifier une largeur (autre que auto) si:

#b {width: 300px; margin: 0 auto;} 
+1

'marge: auto 0;' signifie: 'margin-top: auto; margin-bottom: auto; margin-left: 0; marge à droite: 0' –

+0

@Naveed Ahmad Impossible de corriger. – phihag

0

vous pouvez le faire en définissant une largeur fixe à l'enfant div tels que et la mise en auto marge gauche/droite. Comme:

div#b{width:40px;margin:0 auto;}

+0

Pour autant que je comprenne la spécification, la largeur n'a pas besoin d'être réparée, elle peut aussi être proportionnelle au parent. – phihag

+0

@phihag Oui c'est correct. –

0

La meilleure façon de le faire serait de définir la largeur de la div enfant et définir la marge gauche et à droite à l'auto. Auto affecte une quantité égale aux marges gauche et droite.

div#b { width: 100px; margin: 0 auto;} 

Si vous n'êtes pas sûr de la largeur de l'enfant, vous pouvez également attribuer text-align:center à la div parent. Ce n'est peut-être pas le meilleur moyen, mais le travail est fait.

div#a {text-align:center;}