Come faccio a centrare un div
orizzontalmente all'interno del suo genitore div
con CSS
?
<div id='parent' style='width: 100%;'>
<div id='child' style='width: 50px; height: 100px;'>Text</div>
</div>
Come faccio a centrare un div
orizzontalmente all'interno del suo genitore div
con CSS
?
<div id='parent' style='width: 100%;'>
<div id='child' style='width: 50px; height: 100px;'>Text</div>
</div>
Risposte:
Presumo che il div genitore non abbia larghezza o larghezza ampia e il div figlio abbia una larghezza inferiore. Quanto segue imposterà il margine per la parte superiore e inferiore a zero e i lati si adattano automaticamente. Questo centra il div.
div#child {
margin: 0 auto;
}
text-align: center;
il parent
div e poi rimetterlo a sinistra (o qualsiasi altra cosa) per child
quello. Non sono sicuro se questo problema affligge IE6 ...
child
div apparentemente spostato a sinistra - rispetto ai browser che sono più conformi agli standard - in tutte le versioni di IE che ho controllato (IE6-8). E text-align: center;
per il parent
e text-align: left;
per il child
fisso per tutte quelle versioni.
<div id='parent' style='width: 100%;text-align:center;'>
<div id='child' style='width:50px; height:100px;margin:0px auto;'>Text</div>
</div>
text-align:left;
al #child div
text-align:center
al div figlio o al div genitore?
Solo per interesse, se vuoi centrare due o più div (in modo che siano fianco a fianco al centro), ecco come farlo:
<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>
Puoi utilizzare il valore "auto" per i margini sinistro e destro per consentire al browser di distribuire equamente lo spazio disponibile su entrambi i lati del div interno:
<div id='parent' style='width: 100%;'>
<div id='child' style='width: 50px; height: 100px; margin-left: auto; margin-right: auto'>Text</div>
</div>
<div id='child' style='width: 50px; height: 100px; margin:0 auto;'>Text</div>