2014-06-08 3 views
9

Ich versuche, durch einen Knopf in der Tabelle zum Zentrum: text-align: centerwie die Schaltfläche in einer Tabellenzelle zum Zentrum

Allerdings scheint es nicht für mich nicht.

Hinweis: Ich habe Display: table-cell kombinieren mit Vertical-align: middle, um den Text der Schaltfläche zu zentrieren. Wie Sie sehen können, ist der Text der ersten Schaltfläche "AAAAAAA" in der Mitte.

Kann mir jemand helfen, den Knopf zu zentrieren, ohne den Text des Knopfes zu beeinflussen. Vielen Dank im Voraus.

Hier ist der Beispielcode:

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

+0

'display: table-cell;' Warum würden Sie das tun? –

+0

@Derek because 會 功夫: weil ich möchte, dass der Text in der Schaltfläche auch vertikal in der Mitte ist, bitte besuchen Sie den Link erneut, ich habe nur ein wenig geändert, um die erste Schaltfläche Text. – shensw

+0

Ich sehe. Genau wie die meisten Leute, glaube ich, dass Sie die Bedeutung von "vertical-align" falsch verstanden haben. Es dient nicht dazu, den Inhalt vertikal auszurichten; Es dient dazu, dem Browser mitzuteilen, wie Inline-Blöcke auf der Zeichenbasislinie behandelt werden. –

Antwort

1

ändern display: table-cell zu display: inline-block:

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

ich normalerweise

margin:auto; 
    display:block; 

Ich denke, @rhino Antwort als gut funktioniert. Denken Sie daran, zu entfernen

display:table-cell; 
+0

hmmm, ich habe 'display: table-cell' verwendet, um den Text der Schaltfläche zu zentrieren. Ich habe ein wenig an der ersten Schaltfläche geändert. Bitte lesen Sie den Beispiellink erneut. Sie werden das Problem sehen. – shensw

+0

Ich habe an Ihrem Beispiel versucht. Tischzelle für Block ersetzen und Rand hinzufügen: Auto hat den Trick für mich getan. – amenadiel

+0

aber der Text der Schaltfläche wäre nicht zentriert. Ich möchte den Text der Schaltfläche sowie die Position der Schaltfläche zentriert halten. – shensw

-1

Sie die div table-cell Anzeigeeigenschaft des Behälters verwenden können, und stellen Sie die vertical-align Eigenschaft 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; 
} 

Sie können the fiddle here finden.

-2

das funktioniert

td{ 
    align:center; 
} 

einfach und leicht ... hoffe, es hilft

+1

irgendwie funktioniert es nicht für mich :( – shensw

+0

ich getestet in den Link, den Sie zur Verfügung gestellt ... Und es scheint zu mir zu arbeiten ... können Sie es erneut überprüfen. – nikhil

+1

ich doppelt überprüft, funktioniert nicht für Ich möchte, dass der Text der Schaltfläche zentriert wird, ebenso wie "die Schaltfläche selbst", und ich glaube, du meintest "Ausrichtung-Inhalt: Mitte" -Eigenschaft, das habe ich auch mit Chrome ausprobiert ("Ausrichtung-Inhalt" wird nur unterstützt) von Ohrome und Opera), immer noch nicht funktioniert, danke für Ihren Vorschlag – shensw

Verwandte Themen