2013-03-08 13 views

Antwort

54
button { 
    margin:0 auto; 
    display:block; 
} 

jsFiddle example

+0

Wenn Sie dies in der realen Welt verwenden, müssen Sie die Spezifität, dass erhöhen, wenn Sie auf die Schaltfläche Element überall zentriert werden soll. –

+0

Ich habe eine Frage. Das Blockelement verwendet die volle Breite des übergeordneten Elements. Siehe http://jsfiddle.net/xmpDD/1. Warum verwendet das Schaltflächenelement nicht die gesamte Breite des Elements div? Die Wahrheit ist, dass die Breite des Button-Elements 54 Pixel beträgt. Ich kann das nicht verstehen. Vielen Dank! – weilou

+0

Ist die '0' eigentlich notwendig? 'margin: auto;' scheint in FF, IE und Chrome zu funktionieren. –

2

Sie benötigen display: block; margin: auto; auf dem <button>. jsFiddle

+0

Ich habe eine Frage. Das Blockelement verwendet die volle Breite des übergeordneten Elements. Siehe http://jsfiddle.net/xmpDD/1. Warum verwendet das Schaltflächenelement nicht die gesamte Breite des Elements div? Die Wahrheit ist, dass die Breite des Button-Elements 54 Pixel beträgt. Ich kann das nicht verstehen. Vielen Dank! – weilou

+1

@weilou Tatsächlich erhalten Elemente auf Blockebene nicht unbedingt die Breite ihrer Eltern. Ihre kombinierte Breite, Ränder und Auffüllung entsprechen der Breite ihres übergeordneten Elements. Hoffe es hat geholfen! –

+0

Vielen Dank! Phillip. Dein Kommentar hilft mir! – weilou

3

Andere haben bereits die margin: 0 auto; Methode, aber wenn Sie eine Erklärung wollte, teilt sich der Browser in den verfügbaren Platz, was auch immer Container Ihr Element ist in.

Ebenfalls wichtig ist, dass Sie werden wahrscheinlich darauf hinweisen, müssen Sie Ihrem Element auch eine Breite geben, damit es richtig funktioniert.

Also, insgesamt:

button { 
    display:inline-block; //Typically a button wouldn't need its own line   
    margin:0 auto; 
    width: 200px; //or whatever 
}