2012-02-16 12 views
63
<div style="display: inline-block; margin: 0 auto;"> 
    <input id="abc" type="button" value="button" /> 
</div> 

Provo ad usare il codice sopra per impostare la larghezza di uguale contenuto, quindi centrarlo con margine: 0 auto;div con display: margine blocco in linea 0 auto non centrato

Ma non ha funzionato per me su nessun browser. Qualche suggerimento?

BTW, quando imposto la proprietà width, funziona correttamente.

<div style="width: 10em; margin: 0 auto;"> 
    <input id="abc" type="button" value="button" /> 
</div> 
+2

la larghezza è necessario *** *** – xandercoded

+2

No, non lo è. Vedi la mia risposta. –

+0

Per commento @Xander, senza larghezza, un DIV si espanderà al 100% del suo contenitore. Quindi "margine: 0 auto" probabilmente non mostrerà alcun effetto poiché avrai bisogno di qualcosa di più piccolo del 100% di larghezza. Se stai solo cercando di centrare il pulsante, perché non centrare il testo allineato? vale a dire. "text-align: center" nello stile DIV. Penso che i tag INPUT siano in linea naturalmente, quindi dovrebbe centrarsi all'interno del DIV> – jmbertucci

risposta

128

display: tabella; avrebbe posizionarlo nel centro troppo:

CSS:

.button{ 
    display: table; 
    margin: 0 auto; 
    } 

HTML:

<div class="button"> 
<input id="abc" type="button" value="button" /> 
< /div> 

Nota: Utilizzando gli stili inline è una cattiva pratica.

+5

: il tavolo funziona !!! – etlds

+4

http://www.quirksmode.org/css/display.html#table Buona spiegazione qui – etlds

+2

Ma non funziona in IE <= 7. – kapa

42

Poiché è stata richiesta DIV di essere inline-block, text-align: center; è la risposta.

<div style="text-align: center;"> 
<div style="display: inline-block; text-align: left;"> 
    <input id="abc" type="button" value="button" /> 
</div> 
</div> 
+11

'text-align: center;' centrerà il contenuto * in linea * del div, non il div stesso. – yatskevich

+0

Pardon, ho dimenticato di cancellare il CSS. Scusate. –

+0

No, non è quello che voglio. Voglio centrare il div stesso. – etlds

1

Prova

body {text-align: center;} 
Problemi correlati