2009-12-23 15 views
79

Jak wyśrodkować div poziomo wewnątrz jednostki nadrzędnej div z CSS?Jak wyśrodkować poziomo div wewnątrz jednostki nadrzędnej

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

Tutaj dwie proste metody na wyśrodkowanie elementów div w elementach div, w pionie, w poziomie lub w obu (czysty styl CSS): http://stackoverflow.com/a/31977476/3597276 –

Odpowiedz

114

jestem zakładając div nadrzędnej ma szerokość lub szeroki szerokość i div dziecko ma mniejszą szerokość. Następujący ustawi margines dla góry i dołu na zero, a boki automatycznie dopasują. To centrum div.

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

dzięki za wyjaśnienia – Eagle

+0

@ Mark. świetny pomysł. +1 – Bakhtiyor

+0

@ Mark. Czy wiesz, jak sprawić, by działało w IE6? IE6 naprawdę jest do bani, ale wciąż jest kilka osób, które go używają. – 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

To rozwiązanie obsługuje IE 6, ale nie zapomnij dodać 'text-align: left;' do #child div – Moak

+0

'text-align: center' do elementu div lub div rodzica? –

+0

do div rodzica – Victor

3

Można użyć „Auto” wartość dla lewego i prawego marginesu pozwolić przeglądarka dystrybucję dostępną przestrzeń równo po obu stronach wewnętrznej Gr:

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

Wystarczy się zainteresowania, jeśli chcesz wyśrodkować dwa lub więcej elementów div (więc są one obok siebie w środku), a następnie wykonaj następujące czynności:

<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> 
Powiązane problemy