2012-08-03 6 views
60

Im Versuch, eine HTML-Schaltfläche genau in der Mitte der Seite auszurichten, unabhängig vom verwendeten Browser. Es schwebt entweder nach links, während es immer noch in der vertikalen Mitte ist oder irgendwo auf der Seite ist, wie oben auf der Seite usw. Ich möchte, dass es sowohl vertikal als auch horizontal zentriert ist. Hier ist, was ich habe gerade jetzt geschrieben:versuchen, HTML-Schaltfläche in der Mitte der meine Seite ausrichten

<button type="button" 
style="background-color:yellow;margin-left:auto;margin-right:auto;display:block;margin-top:22%;margin-bottom:0%"> 
mybuttonname</button> 

Antwort

91

Hier ist Ihre Lösung: http://jsfiddle.net/7Laf8/

Grundsätzlich legen Sie Ihre Schaltfläche in ein div mit zentrierten Text:

<div class="wrapper"> 
    <button class="button">Button</button> 
</div> 

Mit den folgenden Arten:

Es gibt viele Möglichkeiten, eine Katze zu häuten, und dies ist nur auf e.

+0

Hier kann ich nicht eine separate CSS-Datei verwenden. Eigentlich ist dies eine XSL-Datei, in die HTML-Code eingebettet ist. Es gibt nur eine Schaltfläche, die angezeigt wird, da dies ein kleiner Test ist, um zu sehen, wie die Schaltfläche angezeigt wird. Daher kann ich keine andere CSS-Datei erstellen. Wenn ich eine andere CSS-Datei für diese Schaltfläche erstelle, brauche ich eine XML-, XSL- und CSS-Datei für diese einfache Funktionalität. Ich werde ein separates CSS für die zukünftigen Funktionalitäten verwenden, die sind comples – user1455116

+0

Sehen Sie meine Bearbeitung, und diese Geige: Sie sollten in der Lage sein, greifen Sie das CSS und fügen Sie es inline: http://jsfiddle.net/7Laf8/ – Mohamad

+0

Hallo, die IE zeigt es ganz links an, befindet sich aber immer noch in der vertikalen Mitte. Aber wenn ich den Code in meiner Datei inline verwende, wird er auf meiner Seite angezeigt. Ich werde heute Abend noch mit anderen Browsern nachsehen müssen. Vielen Dank – user1455116

1

Platz es in einem anderen div, CSS verwenden Sie die Taste, um die Mitte zu bewegen:

<div style="width:100%;height:100%;position:absolute;vertical-align:middle;text-align:center;"> 
    <button type="button" style="background-color:yellow;margin-left:auto;margin-right:auto;display:block;margin-top:22%;margin-bottom:0%"> 
mybuttonname</button> 
</div>​ 

Hier ist ein Beispiel: http://jsfiddle.net/U2B3x/

+0

hi, ich sah in der Ergebnisbox, ist der Knopf ganz links und ist bei die vertikale Mitte der Seite, ist das nicht das, was du siehst? – user1455116

+0

Das hängt von dem Browser ab, den Sie verwenden. Ich habe bemerkt, dass IE nicht freundlich zu margin-left und margin-right dinge, so dass text-align: center; auf der div, um es für IE zu beheben. – Gyhth

3

versuchen, dies es ist ganz einfach und geben Sie Änderungen vornehmen können nicht zu Ihre CSS-Datei sollte diese

<p align="center"> 
<button type="button" style="background-color:yellow;margin-left:auto;margin-right:auto;display:block;margin-top:22%;margin-bottom:0%"> mybuttonname</button> 
</p> 
+0

Ich habe das schon probiert, das ist browserabhängig im IE nicht richtig angezeigt, wohl weil margin-right: auto und margin-left: auto vom IE nicht richtig verstanden werden – user1455116

15

arbeiten habe ich wirklich vor kurzem display: table genommen Dinge eine feste Größe zu geben, wiezu ermöglichenzu arbeiten. Hat mein Leben viel einfacher gemacht. Sie müssen nur über die Tatsache hinaus, dass "Tisch" -Anzeige nicht Tabelle HTML bedeutet.

Es ist besonders nützlich für reaktionsfähiges Design, wo die Dinge nur haarig und verrückt werden 50% dieses und -50%, die einfach unüberschaubar werden.

style 
{ 
    display: table; 
    margin: 0 auto 
} 

http://jsfiddle.net/Z52eR/

Außerdem, wenn Sie zwei Tasten haben, und Sie wollen, dass sie die gleiche Breite, die Sie brauchen noch nicht einmal die Größe jeder wissen, um ihnen die gleiche Breite zu sein - weil Der Tisch wird sie für dich magisch zusammenbrechen lassen.

enter image description here

http://jsfiddle.net/AK674/2/

(dies funktioniert auch, wenn sie wollen inline und Sie sind auf der Seite zwei Tasten Seite zum Zentrum - versuchen, dass mit Prozentsatz zu tun!).

33

Sie auf eine Schaltfläche Zentrieren kann text-align auf dem übergeordneten div durch einfache ohne margin:auto; display:block;

Zum Beispiel mit:

HTML

<div> 
    <button>Submit</button> 
</div> 

CSS

button{ 
    margin:auto; 
    display:block; 
} 

IT in Aktion:http://codepen.io/maudulus/pen/avBdpL

3

Hier ist die Lösung als gefragt

ist

<button type="button" style="background-color:yellow;margin:auto;display:block">mybuttonname</button>

1

Für mich ist es mit Flexbox gearbeitet.

eine CSS-Klasse um das übergeordnete div/Element hinzufügen mit:

.parent { 
    display: flex; 
} 

und für die Schaltfläche Verwendung:

.button { 
    justify-content: center; 
} 

Sie einen Elternteil div verwenden sollten, da sonst die Taste nicht " weiß was die Mitte der Seite/des Elements ist.