CSS Vertikale Ausrichtung Mitte

8

Ich versuche, ein SPAN-Element in der Mitte eines Elternelements vertikal auszurichten.

Das mache ich:

Ich versuche, sowohl die Benutzernamen- als auch die Passwort-Labels vertikal (mittig) zu den Eingabefeldern auszurichten.

Dies ist mein HTML-Code:

%Vor%

Das habe ich ausprobiert:

%Vor%

Das vertikale Ausrichten eines Bildelements in diesem Wrapping-DIV funktioniert absolut gut, in Chrome sowieso, es passt einfach nicht zu meinem SPAN!

Jede Hilfe wäre toll.

    
TheCarver 28.03.2012, 23:06
quelle

5 Antworten

12

Vertikales Ausrichten über CSS kann schwierig sein, und während CSS3 eine Menge Extras mit sich bringt, ist die CSS3-Unterstützung im aktuellen Browser-Markt glanzlos.

Um diesen Effekt zu erreichen, setze ich die Eigenschaft line-height des untergeordneten Elements auf die Höhe seines enthaltenen Elements.

Zum Beispiel würde ich das folgende CSS verwenden:

%Vor%

Der einzige Nachteil bei der Verwendung von line-height zum vertikalen Ausrichten besteht darin, dass der Text in eine zweite Zeile überläuft. In diesem Fall wird Ihr Design im Wesentlichen unterbrochen.

    
Moses 28.03.2012, 23:13
quelle
9

Entfernen Sie einfach die float -Eigenschaft aus Ihrer span-Klasse und setzen Sie sie auf display:inline-block und die vertical-align:middle -Eigenschaft funktioniert wie folgt:

%Vor%

Bearbeiten: Ihren Code ein wenig aufgeräumt, hier ist eine Demo, die über Browser hinweg funktionieren sollte. Ссылка

    
Andres Ilich 28.03.2012 23:46
quelle
2

Ich fand den einfachsten Weg, dies zu tun, ist die Display-Eigenschaft des übergeordneten Containers auf table und die untergeordnete display-Eigenschaft auf table-cell

zu setzen %Vor%

Ich konnte dies erreichen, um ein Ankerelement innerhalb eines div vertikal auszurichten.

Ich habe es in Ihrer Frage in diesem jsFiddle ausgedrückt.

    
Joe Badaczewski 02.01.2014 15:22
quelle
1

Ich konnte nie vertical-align in etwas anderem als & lt; td & gt; s arbeiten lassen.
Ein Workaround, den ich normalerweise verwende, wäre, eine Höhe für .login_field_wrap zu definieren und dann die Eigenschaft line-height in Ihrem & lt; span & gt; gleich .login_field_wrap 's Höhe sein.

    
Paul 28.03.2012 23:12
quelle
-3

Ich denke, text-align: center; sollte auch an Elementen arbeiten. Wenn ich mich nicht irre, funktioniert das normalerweise auch wenn nicht auf Text.

    
corvid 28.03.2012 23:32
quelle

Tags und Links