2014-06-08 6 views
9

Sto cercando di centrare un pulsante all'interno della tabella da: text-align: centercome per centrare il tasto all'interno di una cella di una tabella

Tuttavia, sembra che non funziona per me.

Nota: ho utilizzato Display: table-cell combinato con Vertical-align: middle per centrare il testo del pulsante. Come puoi vedere il testo del primo pulsante "AAAAAAA" è nel mezzo.

Qualcuno può aiutarmi a centrare il pulsante senza influire sul testo del pulsante. Grazie in anticipo.

Ecco il codice di esempio:

http://codepen.io/anon/pen/pAcBx

+0

'display: table-cell;' Perché l'hai fatto? –

+0

@Derek 朕 會 功夫: perché voglio che anche il testo nel pulsante sia verticalmente al centro, per favore rivedi il link, ho appena fatto una piccola modifica al testo del primo pulsante. – shensw

+0

Vedo. Proprio come la maggior parte delle persone, credo che tu abbia frainteso il significato di "vertical-align". Non è per allineare il contenuto verticalmente; è per dire al browser come trattare i blocchi in linea sulla linea di base del personaggio. –

risposta

1

Change display: table-cell a display: inline-block:

.inner_button { 
    /* ... */ 
    display: inline-block; 
    /* ... */ 
} 
9

faccio di solito

margin:auto; 
    display:block; 

Credo @rhino risposta funziona pure. Ricordarsi di togliere

display:table-cell; 
+0

hmmm, ho usato 'display: table-cell' a metà del testo del pulsante, ho fatto una piccola modifica al primo pulsante, per favore rivisitare il link di esempio, vedrai il problema. – shensw

+0

Ho provato il tuo esempio. Sostituzione della cella della tabella per il blocco e aggiunta del margine: auto ha fatto il trucco per me. – amenadiel

+0

ma il testo del pulsante non sarebbe centrato. Voglio mantenere il testo del pulsante centrato così come la posizione del pulsante. – shensw

-1

È possibile utilizzare la proprietà table-cell visualizzazione del div contenitore e impostare la vertical-align proprietà middle:

HTML

<div id="table"> 
    <div class="row"> 
     <div class="cell"> 
      <a href="">I'm your button</a> 
     </div> 
    </div> 
</div> 

CSS

#table { 
    width: 300px; 
    display: table; 
    background: red; 
} 

.row { 
    display: table-row; 
} 

.cell { 
    display: table-cell; 
    height: 200px; 
    background: yellow; 
    vertical-align: middle; 
    text-align: center; 
} 

È possibile trovare the fiddle here.

-2

questo funziona

td{ 
    align:center; 
} 

semplice e facile ... Spero che aiuta

+1

in qualche modo non funziona per me :( – shensw

+0

ho provato nel link che hai fornito ... E sembra che mi stia lavorando ... puoi controllarlo di nuovo – nikhil

+1

Ho controllato, non funziona per io, voglio che il testo del pulsante sia centrato così come "il bottone stesso", e penso che intendessi la proprietà 'align-content: center', l'ho provato anche con Chrome (' align-content' supportava solo da Ohrome e Opera), ancora non funziona, grazie per il tuo suggerimento però – shensw

Problemi correlati