2009-12-23 9 views
79

Comment centrer un div horizontalement à l'intérieur de son parent div avec CSS?Comment centrer horizontalement div à l'intérieur de div div

<div id='parent' style='width: 100%;'> 
<div id='child' style='width: 50px; height: 100px;'>Text</div> 
</div> 
+0

re deux méthodes simples pour centrer divs dans divs, verticalement, horizontalement ou les deux (CSS pur): http://stackoverflow.com/a/31977476/3597276 –

Répondre

114

Je suppose la div parent n'a pas la largeur ou une grande largeur et la div enfant a une largeur plus petite. Ce qui suit va définir la marge pour le haut et le bas à zéro, et les côtés pour s'adapter automatiquement. Ceci centre la div.

div#child { 
    margin: 0 auto; 
} 
+0

merci pour vos explications – Eagle

+0

@Mark. bonne idée. +1 – Bakhtiyor

+0

@Mark. Savez-vous comment le faire fonctionner dans IE6? IE6 aspire vraiment beaucoup, mais il y a encore des gens qui l'utilisent. – Bakhtiyor

3
<div id='child' style='width: 50px; height: 100px; margin:0 auto;'>Text</div> 
5
<div id='parent' style='width: 100%;text-align:center;'> 
<div id='child' style='width:50px; height:100px;margin:0px auto;'>Text</div> 
</div> 
+0

Cette solution prend en charge IE 6, mais n'oubliez pas d'ajouter 'text-align: left;' au div #child – Moak

+0

'text-align: center' pour le div enfant ou le div parent? –

+0

à la div parente – Victor

3

Vous pouvez utiliser la valeur « auto » pour les marges gauche et droite pour laisser le navigateur distribuer l'espace disponible également sur les deux côtés de la div intérieure:

<div id='parent' style='width: 100%;'> 
    <div id='child' style='width: 50px; height: 100px; margin-left: auto; margin-right: auto'>Text</div> 
</div> 
1

Juste d'intérêt, si vous voulez centrer deux ou plusieurs divs (donc ils sont côte à côte au centre), alors voici comment le faire:

<div style="text-align:center;"> 
    <div style="border:1px solid #000; display:inline-block;">Div 1</div> 
    <div style="border:1px solid red; display:inline-block;">Div 2</div> 
</div>